Lines Matching defs:gm

234 static int	kauth_groups_expired(struct kauth_group_membership *gm);
235 static void kauth_groups_lru(struct kauth_group_membership *gm);
2624 * Parameters: gm group membership entry to
2631 kauth_groups_expired(struct kauth_group_membership *gm)
2638 if (gm->gm_expiry == 0)
2643 return((gm->gm_expiry <= tv.tv_sec) ? 1 : 0);
2665 kauth_groups_lru(struct kauth_group_membership *gm)
2667 if (gm != TAILQ_FIRST(&kauth_groups)) {
2668 TAILQ_REMOVE(&kauth_groups, gm, gm_link);
2669 TAILQ_INSERT_HEAD(&kauth_groups, gm, gm_link);
2690 struct kauth_group_membership *gm;
2706 TAILQ_FOREACH(gm, &kauth_groups, gm_link) {
2707 if ((el->el_uid == gm->gm_uid) &&
2708 (el->el_gid == gm->gm_gid)) {
2710 gm->gm_flags |= KAUTH_GROUP_ISMEMBER;
2712 gm->gm_flags &= ~KAUTH_GROUP_ISMEMBER;
2714 gm->gm_expiry = (el->el_member_valid) ? el->el_member_valid + tv.tv_sec : 0;
2715 kauth_groups_lru(gm);
2722 if (gm != NULL)
2726 MALLOC(gm, struct kauth_group_membership *, sizeof(*gm), M_KAUTH, M_WAITOK);
2727 if (gm != NULL) {
2728 gm->gm_uid = el->el_uid;
2729 gm->gm_gid = el->el_gid;
2731 gm->gm_flags |= KAUTH_GROUP_ISMEMBER;
2733 gm->gm_flags &= ~KAUTH_GROUP_ISMEMBER;
2735 gm->gm_expiry = (el->el_member_valid) ? el->el_member_valid + tv.tv_sec : 0;
2745 TAILQ_INSERT_HEAD(&kauth_groups, gm, gm_link);
2747 gm = TAILQ_LAST(&kauth_groups, kauth_groups_head);
2748 TAILQ_REMOVE(&kauth_groups, gm, gm_link);
2751 gm = NULL;
2756 if (gm != NULL)
2757 FREE(gm, M_KAUTH);
2767 struct kauth_group_membership *gm;
2772 gm = TAILQ_LAST(&kauth_groups, kauth_groups_head);
2773 TAILQ_REMOVE(&kauth_groups, gm, gm_link);
2775 FREE(gm, M_KAUTH);
2844 struct kauth_group_membership *gm;
2866 TAILQ_FOREACH(gm, &kauth_groups, gm_link) {
2867 if ((gm->gm_uid == pcred->cr_gmuid) && (gm->gm_gid == gid) && !kauth_groups_expired(gm)) {
2868 kauth_groups_lru(gm);
2874 if (gm != NULL)
2875 *resultp = (gm->gm_flags & KAUTH_GROUP_ISMEMBER) ? 1 : 0;
2879 if (gm != NULL) {
5097 printf("%p - refs %lu flags 0x%08x uids e%d r%d sv%d gm%d ", cred, cred->cr_ref, cred->cr_flags, cred->cr_uid, cred->cr_ruid, cred->cr_svuid, cred->cr_gmuid);