Home
last modified time | relevance | path

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

/Linux-v5.15/kernel/
Dgroups.c15 struct group_info *groups_alloc(int gidsetsize) in groups_alloc()
17 struct group_info *gi; in groups_alloc()
29 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
42 unsigned int count = group_info->ngroups; in groups_to_user()
46 gid = from_kgid_munged(user_ns, group_info->gid[i]); in groups_to_user()
54 static int groups_from_user(struct group_info *group_info, in groups_from_user() argument
59 unsigned int count = group_info->ngroups; in groups_from_user()
71 group_info->gid[i] = kgid; in groups_from_user()
[all …]
Duid16.c115 struct group_info *group_info) in groups16_to_user() argument
122 for (i = 0; i < group_info->ngroups; i++) { in groups16_to_user()
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
140 for (i = 0; i < group_info->ngroups; i++) { in groups16_from_user()
148 group_info->gid[i] = kgid; in groups16_from_user()
162 i = cred->group_info->ngroups; in SYSCALL_DEFINE2()
168 if (groups16_to_user(grouplist, cred->group_info)) { in SYSCALL_DEFINE2()
179 struct group_info *group_info; in SYSCALL_DEFINE2() local
187 group_info = groups_alloc(gidsetsize); in SYSCALL_DEFINE2()
[all …]
Dcred.c36 static struct group_info init_groups = { .usage = ATOMIC_INIT(2) };
62 .group_info = &init_groups,
120 if (cred->group_info) in put_cred_rcu()
121 put_group_info(cred->group_info); in put_cred_rcu()
272 get_group_info(new->group_info); in prepare_creds()
628 struct group_info *ga, *gb; in cred_fscmp()
643 ga = a->group_info; in cred_fscmp()
644 gb = b->group_info; in cred_fscmp()
742 get_group_info(new->group_info); in prepare_kernel_cred()
Dauditsc.c524 result = groups_search(cred->group_info, f->gid); in audit_filter_rules()
527 result = !groups_search(cred->group_info, f->gid); in audit_filter_rules()
534 result = groups_search(cred->group_info, f->gid); in audit_filter_rules()
537 result = !groups_search(cred->group_info, f->gid); in audit_filter_rules()
/Linux-v5.15/include/linux/
Dcred.h25 struct group_info { struct
40 static inline struct group_info *get_group_info(struct group_info *gi) in get_group_info()
50 #define put_group_info(group_info) \ argument
52 if (atomic_dec_and_test(&(group_info)->usage)) \
53 groups_free(group_info); \
57 extern struct group_info *groups_alloc(int);
58 extern void groups_free(struct group_info *);
62 extern int groups_search(const struct group_info *, kgid_t);
64 extern int set_current_groups(struct group_info *);
65 extern void set_groups(struct cred *, struct group_info *);
[all …]
/Linux-v5.15/net/sunrpc/
Dauth_unix.c83 if (acred->cred->group_info != NULL) in unx_match()
84 groups = acred->cred->group_info->ngroups; in unx_match()
87 if (cred->cr_cred->group_info == NULL) in unx_match()
89 if (groups != cred->cr_cred->group_info->ngroups) in unx_match()
93 if (!gid_eq(cred->cr_cred->group_info->gid[i], acred->cred->group_info->gid[i])) in unx_match()
109 struct group_info *gi = cred->cr_cred->group_info; in unx_marshal()
Dsvcauth_unix.c409 struct group_info *gi;
631 static struct group_info *unix_gid_find(kuid_t uid, struct svc_rqst *rqstp) in unix_gid_find()
634 struct group_info *gi; in unix_gid_find()
663 struct group_info *gi; in svcauth_unix_set_client()
/Linux-v5.15/fs/nfsd/
Dfilecache.c873 if (c1->group_info == NULL || c2->group_info == NULL) in nfsd_match_cred()
874 return c1->group_info == c2->group_info; in nfsd_match_cred()
875 if (c1->group_info->ngroups != c2->group_info->ngroups) in nfsd_match_cred()
877 for (i = 0; i < c1->group_info->ngroups; i++) { in nfsd_match_cred()
878 if (!gid_eq(c1->group_info->gid[i], c2->group_info->gid[i])) in nfsd_match_cred()
Dauth.c23 struct group_info *rqgi; in nfsd_setuser()
24 struct group_info *gi; in nfsd_setuser()
Dnfs4state.c2223 static bool groups_equal(struct group_info *g1, struct group_info *g2) in groups_equal()
/Linux-v5.15/net/netfilter/
Dxt_owner.c97 struct group_info *gi = filp->f_cred->group_info; in owner_mt()
/Linux-v5.15/fs/proc/
Darray.c146 struct group_info *group_info; in task_state() local
194 group_info = cred->group_info; in task_state()
195 for (g = 0; g < group_info->ngroups; g++) in task_state()
197 from_kgid_munged(user_ns, group_info->gid[g])); in task_state()
/Linux-v5.15/security/keys/
Dpermission.c67 ret = groups_search(cred->group_info, key->gid); in key_task_permission()
Dprocess_keys.c939 new->group_info = get_group_info(old->group_info); in key_change_session_keyring()
/Linux-v5.15/net/ipv4/
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-v5.15/include/linux/sunrpc/
Dsvcauth.h24 struct group_info *cr_group_info;
/Linux-v5.15/fs/ext4/
Dmballoc.c3186 struct ext4_group_info ***group_info; in ext4_mb_add_groupinfo() local
3189 group_info = rcu_dereference(sbi->s_group_info); in ext4_mb_add_groupinfo()
3190 kfree(group_info[idx]); in ext4_mb_add_groupinfo()
3191 group_info[idx] = NULL; in ext4_mb_add_groupinfo()
3205 struct ext4_group_info ***group_info; in ext4_mb_init_backend() local
3270 group_info = rcu_dereference(sbi->s_group_info); in ext4_mb_init_backend()
3272 kfree(group_info[i]); in ext4_mb_init_backend()
3546 struct ext4_group_info *grinfo, ***group_info; in ext4_mb_release() local
3576 group_info = rcu_dereference(sbi->s_group_info); in ext4_mb_release()
3578 kfree(group_info[i]); in ext4_mb_release()
[all …]
/Linux-v5.15/fs/ksmbd/
Dsmb_common.c607 struct group_info *gi; in ksmbd_override_fsids()
/Linux-v5.15/sound/pci/asihpi/
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()
Dhpi_internal.h761 } group_info; member
/Linux-v5.15/Documentation/security/
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);
/Linux-v5.15/net/core/
Dsock.c1403 static int groups_to_user(gid_t __user *dst, const struct group_info *src) in groups_to_user()
1584 n = cred->group_info->ngroups; in sock_getsockopt()
1592 ret = groups_to_user((gid_t __user *)optval, cred->group_info); in sock_getsockopt()
/Linux-v5.15/fs/ceph/
Dmds_client.c2534 ceph_encode_32(p, req->r_cred->group_info->ngroups); in encode_timestamp_and_gids()
2535 for (i = 0; i < req->r_cred->group_info->ngroups; i++) in encode_timestamp_and_gids()
2537 req->r_cred->group_info->gid[i])); in encode_timestamp_and_gids()
2585 len += sizeof(u32) + (sizeof(u64) * req->r_cred->group_info->ngroups); in create_request_message()
/Linux-v5.15/fs/
Dio_uring.c10034 struct group_info *gi; in io_uring_show_cred()
10049 gi = cred->group_info; in io_uring_show_cred()