Lines Matching refs:gm
251 static int kauth_groups_expired(struct kauth_group_membership *gm);
252 static void kauth_groups_lru(struct kauth_group_membership *gm);
2886 kauth_groups_expired(struct kauth_group_membership *gm) in kauth_groups_expired() argument
2893 if (gm->gm_expiry == 0) { in kauth_groups_expired()
2899 return (gm->gm_expiry <= tv.tv_sec) ? 1 : 0; in kauth_groups_expired()
2921 kauth_groups_lru(struct kauth_group_membership *gm) in kauth_groups_lru() argument
2923 if (gm != TAILQ_FIRST(&kauth_groups)) { in kauth_groups_lru()
2924 TAILQ_REMOVE(&kauth_groups, gm, gm_link); in kauth_groups_lru()
2925 TAILQ_INSERT_HEAD(&kauth_groups, gm, gm_link); in kauth_groups_lru()
2946 struct kauth_group_membership *gm; in kauth_groups_updatecache() local
2963 TAILQ_FOREACH(gm, &kauth_groups, gm_link) { in kauth_groups_updatecache()
2964 if ((el->el_uid == gm->gm_uid) && in kauth_groups_updatecache()
2965 (el->el_gid == gm->gm_gid)) { in kauth_groups_updatecache()
2967 gm->gm_flags |= KAUTH_GROUP_ISMEMBER; in kauth_groups_updatecache()
2969 gm->gm_flags &= ~KAUTH_GROUP_ISMEMBER; in kauth_groups_updatecache()
2971 gm->gm_expiry = (el->el_member_valid) ? el->el_member_valid + tv.tv_sec : 0; in kauth_groups_updatecache()
2972 kauth_groups_lru(gm); in kauth_groups_updatecache()
2979 if (gm != NULL) { in kauth_groups_updatecache()
2984 gm = kalloc_type(struct kauth_group_membership, Z_WAITOK | Z_NOFAIL); in kauth_groups_updatecache()
2985 gm->gm_uid = el->el_uid; in kauth_groups_updatecache()
2986 gm->gm_gid = el->el_gid; in kauth_groups_updatecache()
2988 gm->gm_flags |= KAUTH_GROUP_ISMEMBER; in kauth_groups_updatecache()
2990 gm->gm_flags &= ~KAUTH_GROUP_ISMEMBER; in kauth_groups_updatecache()
2992 gm->gm_expiry = (el->el_member_valid) ? el->el_member_valid + tv.tv_sec : 0; in kauth_groups_updatecache()
3001 TAILQ_INSERT_HEAD(&kauth_groups, gm, gm_link); in kauth_groups_updatecache()
3003 gm = TAILQ_LAST(&kauth_groups, kauth_groups_head); in kauth_groups_updatecache()
3004 TAILQ_REMOVE(&kauth_groups, gm, gm_link); in kauth_groups_updatecache()
3007 gm = NULL; in kauth_groups_updatecache()
3012 kfree_type(struct kauth_group_membership, gm); in kauth_groups_updatecache()
3023 struct kauth_group_membership *gm; in kauth_groups_trimcache() local
3028 gm = TAILQ_LAST(&kauth_groups, kauth_groups_head); in kauth_groups_trimcache()
3029 TAILQ_REMOVE(&kauth_groups, gm, gm_link); in kauth_groups_trimcache()
3031 kfree_type(struct kauth_group_membership, gm); in kauth_groups_trimcache()
3100 struct kauth_group_membership *gm; in kauth_cred_ismember_gid() local
3122 TAILQ_FOREACH(gm, &kauth_groups, gm_link) { in kauth_cred_ismember_gid()
3123 if ((gm->gm_uid == pcred->cr_gmuid) && (gm->gm_gid == gid) && !kauth_groups_expired(gm)) { in kauth_cred_ismember_gid()
3124 kauth_groups_lru(gm); in kauth_cred_ismember_gid()
3130 if (gm != NULL) { in kauth_cred_ismember_gid()
3131 *resultp = (gm->gm_flags & KAUTH_GROUP_ISMEMBER) ? 1 : 0; in kauth_cred_ismember_gid()
3136 if (gm != NULL) { in kauth_cred_ismember_gid()