Home
last modified time | relevance | path

Searched refs:group_info (Results 1 – 25 of 27) sorted by relevance

12

/linux/kernel/
H A Dgroups.c29 void groups_free(struct group_info *group_info) in groups_free() argument
31 kvfree(group_info); in groups_free()
38 const struct group_info *group_info) in groups_to_user() argument
54 static int groups_from_user(struct group_info *group_info, in groups_from_user() argument
84 void groups_sort(struct group_info *group_info) in groups_sort() argument
86 sort(group_info->gid, group_info->ngroups, sizeof(*group_info->gid), in groups_sort()
96 if (!group_info) in groups_search()
118 void set_groups(struct cred *new, struct group_info *group_info) in set_groups() argument
122 new->group_info = group_info; in set_groups()
134 int set_current_groups(struct group_info *group_info) in set_current_groups() argument
[all …]
H A Duid16.c115 struct group_info *group_info) in groups16_to_user() argument
123 kgid = group_info->gid[i]; in groups16_to_user()
132 static int groups16_from_user(struct group_info *group_info, in groups16_from_user() argument
148 group_info->gid[i] = kgid; in groups16_from_user()
162 i = cred->group_info->ngroups; in SYSCALL_DEFINE2()
179 struct group_info *group_info; in SYSCALL_DEFINE2() local
187 group_info = groups_alloc(gidsetsize); in SYSCALL_DEFINE2()
188 if (!group_info) in SYSCALL_DEFINE2()
192 put_group_info(group_info); in SYSCALL_DEFINE2()
196 groups_sort(group_info); in SYSCALL_DEFINE2()
[all …]
H A Dcred.c39 static struct group_info init_groups = { .usage = REFCOUNT_INIT(2) };
61 .group_info = &init_groups,
83 if (cred->group_info) in put_cred_rcu()
84 put_group_info(cred->group_info); in put_cred_rcu()
223 get_group_info(new->group_info); in prepare_creds()
545 struct group_info *ga, *gb; in cred_fscmp()
560 ga = a->group_info; in cred_fscmp()
561 gb = b->group_info; in cred_fscmp()
650 get_group_info(new->group_info); in prepare_kernel_cred()
H A Dauditsc.c520 result = groups_search(cred->group_info, f->gid); in audit_filter_rules()
523 result = !groups_search(cred->group_info, f->gid); in audit_filter_rules()
530 result = groups_search(cred->group_info, f->gid); in audit_filter_rules()
533 result = !groups_search(cred->group_info, f->gid); in audit_filter_rules()
/linux/include/linux/
H A Dcred.h26 struct group_info { struct
41 static inline struct group_info *get_group_info(struct group_info *gi) in get_group_info()
51 #define put_group_info(group_info) \ argument
54 groups_free(group_info); \
58 extern struct group_info *groups_alloc(int);
59 extern void groups_free(struct group_info *);
68 extern void groups_sort(struct group_info *);
70 static inline void groups_free(struct group_info *group_info) in groups_free() argument
82 static inline int groups_search(const struct group_info *group_info, kgid_t grp) in groups_search() argument
141 struct group_info *group_info; /* supplementary groups for euid/fsgid */ member
[all …]
H A Dnfs_fs.h65 struct group_info *group_info; member
/linux/net/sunrpc/
H A Dauth_unix.c91 if (acred->cred->group_info != NULL) in unx_match()
92 groups = acred->cred->group_info->ngroups; in unx_match()
95 if (cred->cr_cred->group_info == NULL) in unx_match()
97 if (groups != cred->cr_cred->group_info->ngroups) in unx_match()
101 if (!gid_eq(cred->cr_cred->group_info->gid[i], acred->cred->group_info->gid[i])) in unx_match()
117 struct group_info *gi = cred->cr_cred->group_info; in unx_marshal()
H A Dsvcauth_unix.c411 struct group_info *gi;
642 static struct group_info *unix_gid_find(kuid_t uid, struct svc_rqst *rqstp) in unix_gid_find()
645 struct group_info *gi; in unix_gid_find()
674 struct group_info *gi; in svcauth_unix_set_client()
/linux/security/safesetid/
H A Dlsm.c247 get_group_info(new->group_info); in safesetid_task_fix_setgroups()
248 for (i = 0; i < new->group_info->ngroups; i++) { in safesetid_task_fix_setgroups()
249 if (!id_permitted_for_cred(old, (kid_t){.gid = new->group_info->gid[i]}, GID)) { in safesetid_task_fix_setgroups()
250 put_group_info(new->group_info); in safesetid_task_fix_setgroups()
261 put_group_info(new->group_info); in safesetid_task_fix_setgroups()
/linux/fs/nfsd/
H A Dfilecache.c86 if (c1->group_info == NULL || c2->group_info == NULL) in nfsd_match_cred()
87 return c1->group_info == c2->group_info; in nfsd_match_cred()
88 if (c1->group_info->ngroups != c2->group_info->ngroups) in nfsd_match_cred()
90 for (i = 0; i < c1->group_info->ngroups; i++) { in nfsd_match_cred()
91 if (!gid_eq(c1->group_info->gid[i], c2->group_info->gid[i])) in nfsd_match_cred()
H A Dauth.c23 struct group_info *rqgi; in nfsd_setuser()
24 struct group_info *gi; in nfsd_setuser()
/linux/net/netfilter/
H A Dxt_owner.c102 struct group_info *gi = filp->f_cred->group_info; in owner_mt()
/linux/fs/proc/
H A Darray.c152 struct group_info *group_info; in task_state() local
200 group_info = cred->group_info; in task_state()
201 for (g = 0; g < group_info->ngroups; g++) in task_state()
203 from_kgid_munged(user_ns, group_info->gid[g])); in task_state()
/linux/security/keys/
H A Dpermission.c67 ret = groups_search(cred->group_info, key->gid); in key_task_permission()
H A Dprocess_keys.c939 new->group_info = get_group_info(old->group_info); in key_change_session_keyring()
/linux/net/ipv4/
H A Dping.c256 struct group_info *group_info; in ping_init_sock() local
268 group_info = get_current_groups(); in ping_init_sock()
269 for (i = 0; i < group_info->ngroups; i++) { in ping_init_sock()
270 kgid_t gid = group_info->gid[i]; in ping_init_sock()
279 put_group_info(group_info); in ping_init_sock()
/linux/io_uring/
H A Dfdinfo.c23 struct group_info *gi; in io_uring_show_cred()
37 gi = cred->group_info; in io_uring_show_cred()
/linux/include/linux/sunrpc/
H A Dsvcauth.h24 struct group_info *cr_group_info;
/linux/fs/nfs/
H A Ddir.c2843 put_group_info(entry->group_info); in nfs_access_free_entry()
2971 struct group_info *ga, *gb; in access_cmp()
2984 ga = a->group_info; in access_cmp()
2985 gb = b->group_info; in access_cmp()
3183 cache->group_info = get_group_info(cred->group_info); in nfs_access_add_cache()
/linux/fs/ext4/
H A Dmballoc.c3391 struct ext4_group_info ***group_info; in ext4_mb_add_groupinfo() local
3394 group_info = rcu_dereference(sbi->s_group_info); in ext4_mb_add_groupinfo()
3395 kfree(group_info[idx]); in ext4_mb_add_groupinfo()
3396 group_info[idx] = NULL; in ext4_mb_add_groupinfo()
3409 struct ext4_group_info ***group_info; in ext4_mb_init_backend() local
3479 group_info = rcu_dereference(sbi->s_group_info); in ext4_mb_init_backend()
3481 kfree(group_info[i]); in ext4_mb_init_backend()
3774 struct ext4_group_info *grinfo, ***group_info; in ext4_mb_release() local
3806 group_info = rcu_dereference(sbi->s_group_info); in ext4_mb_release()
3808 kfree(group_info[i]); in ext4_mb_release()
[all …]
/linux/fs/smb/server/
H A Dsmb_common.c740 struct group_info *gi; in ksmbd_override_fsids()
/linux/sound/pci/asihpi/
H A Dhpifunc.c823 *poutstream_map = hr.u.d.u.group_info.outstream_group_map; in hpi_outstream_group_get_map()
825 *pinstream_map = hr.u.d.u.group_info.instream_group_map; in hpi_outstream_group_get_map()
1181 *poutstream_map = hr.u.d.u.group_info.outstream_group_map; in hpi_instream_group_get_map()
1183 *pinstream_map = hr.u.d.u.group_info.instream_group_map; in hpi_instream_group_get_map()
H A Dhpi_internal.h761 } group_info; member
/linux/fs/ceph/
H A Dmds_client.c2916 ceph_encode_32(p, req->r_cred->group_info->ngroups); in encode_mclientrequest_tail()
2917 for (i = 0; i < req->r_cred->group_info->ngroups; i++) in encode_mclientrequest_tail()
2919 req->r_cred->group_info->gid[i])); in encode_mclientrequest_tail()
3058 len += sizeof(u32) + (sizeof(u64) * req->r_cred->group_info->ngroups); in create_request_message()
5628 if (!gid_matched && cred->group_info->ngroups) { in ceph_mds_auth_match()
5629 for (i = 0; i < cred->group_info->ngroups; i++) { in ceph_mds_auth_match()
5631 cred->group_info->gid[i]); in ceph_mds_auth_match()
/linux/Documentation/security/
H A Dcredentials.rst260 2. the reference count on the group_info struct it points to may be changed;
348 struct group_info *get_current_groups(void);

12