Lines Matching refs:gm
235 static int kauth_groups_expired(struct kauth_group_membership *gm);
236 static void kauth_groups_lru(struct kauth_group_membership *gm);
2808 kauth_groups_expired(struct kauth_group_membership *gm) in kauth_groups_expired() argument
2815 if (gm->gm_expiry == 0) { in kauth_groups_expired()
2821 return (gm->gm_expiry <= tv.tv_sec) ? 1 : 0; in kauth_groups_expired()
2843 kauth_groups_lru(struct kauth_group_membership *gm) in kauth_groups_lru() argument
2845 if (gm != TAILQ_FIRST(&kauth_groups)) { in kauth_groups_lru()
2846 TAILQ_REMOVE(&kauth_groups, gm, gm_link); in kauth_groups_lru()
2847 TAILQ_INSERT_HEAD(&kauth_groups, gm, gm_link); in kauth_groups_lru()
2868 struct kauth_group_membership *gm; in kauth_groups_updatecache() local
2885 TAILQ_FOREACH(gm, &kauth_groups, gm_link) { in kauth_groups_updatecache()
2886 if ((el->el_uid == gm->gm_uid) && in kauth_groups_updatecache()
2887 (el->el_gid == gm->gm_gid)) { in kauth_groups_updatecache()
2889 gm->gm_flags |= KAUTH_GROUP_ISMEMBER; in kauth_groups_updatecache()
2891 gm->gm_flags &= ~KAUTH_GROUP_ISMEMBER; in kauth_groups_updatecache()
2893 gm->gm_expiry = (el->el_member_valid) ? el->el_member_valid + tv.tv_sec : 0; in kauth_groups_updatecache()
2894 kauth_groups_lru(gm); in kauth_groups_updatecache()
2901 if (gm != NULL) { in kauth_groups_updatecache()
2906 gm = kalloc_type(struct kauth_group_membership, Z_WAITOK | Z_NOFAIL); in kauth_groups_updatecache()
2907 gm->gm_uid = el->el_uid; in kauth_groups_updatecache()
2908 gm->gm_gid = el->el_gid; in kauth_groups_updatecache()
2910 gm->gm_flags |= KAUTH_GROUP_ISMEMBER; in kauth_groups_updatecache()
2912 gm->gm_flags &= ~KAUTH_GROUP_ISMEMBER; in kauth_groups_updatecache()
2914 gm->gm_expiry = (el->el_member_valid) ? el->el_member_valid + tv.tv_sec : 0; in kauth_groups_updatecache()
2923 TAILQ_INSERT_HEAD(&kauth_groups, gm, gm_link); in kauth_groups_updatecache()
2925 gm = TAILQ_LAST(&kauth_groups, kauth_groups_head); in kauth_groups_updatecache()
2926 TAILQ_REMOVE(&kauth_groups, gm, gm_link); in kauth_groups_updatecache()
2929 gm = NULL; in kauth_groups_updatecache()
2934 kfree_type(struct kauth_group_membership, gm); in kauth_groups_updatecache()
2945 struct kauth_group_membership *gm; in kauth_groups_trimcache() local
2950 gm = TAILQ_LAST(&kauth_groups, kauth_groups_head); in kauth_groups_trimcache()
2951 TAILQ_REMOVE(&kauth_groups, gm, gm_link); in kauth_groups_trimcache()
2953 kfree_type(struct kauth_group_membership, gm); in kauth_groups_trimcache()
3022 struct kauth_group_membership *gm; in kauth_cred_ismember_gid() local
3044 TAILQ_FOREACH(gm, &kauth_groups, gm_link) { in kauth_cred_ismember_gid()
3045 if ((gm->gm_uid == pcred->cr_gmuid) && (gm->gm_gid == gid) && !kauth_groups_expired(gm)) { in kauth_cred_ismember_gid()
3046 kauth_groups_lru(gm); in kauth_cred_ismember_gid()
3052 if (gm != NULL) { in kauth_cred_ismember_gid()
3053 *resultp = (gm->gm_flags & KAUTH_GROUP_ISMEMBER) ? 1 : 0; in kauth_cred_ismember_gid()
3058 if (gm != NULL) { in kauth_cred_ismember_gid()