cr_seeothergids(9) determine visibility of objects given their group memberships


Ft int Fn cr_seeothergids struct ucred *u1 struct ucred *u2


This function determines the visibility of objects in the kernel based on the group IDs in the credentials Fa u1 and Fa u2 associated with them.

The visibility of objects is influenced by the sysctl(8) variable security.bsd.see_other_gids If this variable is non-zero then all objects in the kernel are visible to each other irrespective of their group membership. If this variable is zero then the object with credentials Fa u2 is visible to the object with credentials Fa u1 if either Fa u1 is the super-user credential, or if at least one of Fa u1 Ns 's group IDs is present in Fa u2 Ns 's group set.


Must be non-zero if objects with unprivileged credentials are to be able to see each other.


This function returns zero if the object with credential Fa u1 can ``see'' the object with credential Fa u2 , or Er ESRCH otherwise.