Home
last modified time | relevance | path

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

/Linux-v4.19/kernel/
Dgroups.c15 struct group_info *groups_alloc(int gidsetsize) in groups_alloc()
17 struct group_info *gi; in groups_alloc()
20 len = sizeof(struct group_info) + sizeof(kgid_t) * gidsetsize; in groups_alloc()
34 void groups_free(struct group_info *group_info) in groups_free() argument
36 kvfree(group_info); in groups_free()
43 const struct group_info *group_info) in groups_to_user() argument
47 unsigned int count = group_info->ngroups; in groups_to_user()
51 gid = from_kgid_munged(user_ns, group_info->gid[i]); in groups_to_user()
59 static int groups_from_user(struct group_info *group_info, in groups_from_user() argument
64 unsigned int count = group_info->ngroups; 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.c39 struct group_info init_groups = { .usage = ATOMIC_INIT(2) };
65 .group_info = &init_groups,
122 if (cred->group_info) in put_cred_rcu()
123 put_group_info(cred->group_info); in put_cred_rcu()
263 get_group_info(new->group_info); in prepare_creds()
618 get_group_info(new->group_info); in prepare_kernel_cred()
Dauditsc.c497 result = groups_search(cred->group_info, f->gid); in audit_filter_rules()
500 result = !groups_search(cred->group_info, f->gid); in audit_filter_rules()
507 result = groups_search(cred->group_info, f->gid); in audit_filter_rules()
510 result = !groups_search(cred->group_info, f->gid); in audit_filter_rules()
/Linux-v4.19/include/linux/
Dcred.h30 struct group_info { struct
45 static inline struct group_info *get_group_info(struct group_info *gi) in get_group_info()
55 #define put_group_info(group_info) \ argument
57 if (atomic_dec_and_test(&(group_info)->usage)) \
58 groups_free(group_info); \
61 extern struct group_info init_groups;
63 extern struct group_info *groups_alloc(int);
64 extern void groups_free(struct group_info *);
68 extern int groups_search(const struct group_info *, kgid_t);
70 extern int set_current_groups(struct group_info *);
[all …]
Dinit_task.h27 extern struct group_info init_groups;
/Linux-v4.19/net/sunrpc/
Dauth_generic.c112 gcred->acred.group_info = acred->group_info; in generic_create_cred()
114 if (gcred->acred.group_info != NULL) in generic_create_cred()
115 get_group_info(gcred->acred.group_info); in generic_create_cred()
133 if (gcred->acred.group_info != NULL) in generic_free_cred()
134 put_group_info(gcred->acred.group_info); in generic_free_cred()
180 if (gcred->acred.group_info == acred->group_info) in generic_match()
184 if (gcred->acred.group_info->ngroups != acred->group_info->ngroups) in generic_match()
186 for (i = 0; i < gcred->acred.group_info->ngroups; i++) { in generic_match()
187 if (!gid_eq(gcred->acred.group_info->gid[i], in generic_match()
188 acred->group_info->gid[i])) in generic_match()
Dauth_unix.c82 if (acred->group_info != NULL) in unx_create_cred()
83 groups = acred->group_info->ngroups; in unx_create_cred()
89 cred->uc_gids[i] = acred->group_info->gid[i]; in unx_create_cred()
132 if (acred->group_info != NULL) in unx_match()
133 groups = acred->group_info->ngroups; in unx_match()
137 if (!gid_eq(cred->uc_gids[i], acred->group_info->gid[i])) in unx_match()
Dsvcauth_unix.c414 struct group_info *gi;
629 static struct group_info *unix_gid_find(kuid_t uid, struct svc_rqst *rqstp) in unix_gid_find()
632 struct group_info *gi; in unix_gid_find()
661 struct group_info *gi; in svcauth_unix_set_client()
Dauth.c636 acred.group_info = cred->group_info; in rpcauth_lookupcred()
/Linux-v4.19/arch/s390/kernel/
Dcompat_linux.c184 static int groups16_to_user(u16 __user *grouplist, struct group_info *group_info) in groups16_to_user() argument
191 for (i = 0; i < group_info->ngroups; i++) { in groups16_to_user()
192 kgid = group_info->gid[i]; in groups16_to_user()
201 static int groups16_from_user(struct group_info *group_info, u16 __user *grouplist) in groups16_from_user() argument
208 for (i = 0; i < group_info->ngroups; i++) { in groups16_from_user()
216 group_info->gid[i] = kgid; in groups16_from_user()
230 get_group_info(cred->group_info); in COMPAT_SYSCALL_DEFINE2()
231 i = cred->group_info->ngroups; in COMPAT_SYSCALL_DEFINE2()
237 if (groups16_to_user(grouplist, cred->group_info)) { in COMPAT_SYSCALL_DEFINE2()
243 put_group_info(cred->group_info); in COMPAT_SYSCALL_DEFINE2()
[all …]
/Linux-v4.19/fs/nfsd/
Dauth.c23 struct group_info *rqgi; in nfsd_setuser()
24 struct group_info *gi; in nfsd_setuser()
Dnfs4state.c2026 static bool groups_equal(struct group_info *g1, struct group_info *g2) in groups_equal()
/Linux-v4.19/include/linux/sunrpc/
Dauth.h51 struct group_info *group_info; member
Dsvcauth.h26 struct group_info *cr_group_info;
/Linux-v4.19/fs/proc/
Darray.c156 struct group_info *group_info; in task_state() local
204 group_info = cred->group_info; in task_state()
205 for (g = 0; g < group_info->ngroups; g++) in task_state()
207 from_kgid_munged(user_ns, group_info->gid[g])); in task_state()
/Linux-v4.19/security/keys/
Dpermission.c53 ret = groups_search(cred->group_info, key->gid); in key_task_permission()
Dprocess_keys.c864 new->group_info = get_group_info(old->group_info); in key_change_session_keyring()
/Linux-v4.19/net/ipv4/
Dping.c261 struct group_info *group_info; in ping_init_sock() local
273 group_info = get_current_groups(); in ping_init_sock()
274 for (i = 0; i < group_info->ngroups; i++) { in ping_init_sock()
275 kgid_t gid = group_info->gid[i]; in ping_init_sock()
284 put_group_info(group_info); in ping_init_sock()
/Linux-v4.19/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.h772 } group_info; member
/Linux-v4.19/net/core/
Dsock.c1073 static int groups_to_user(gid_t __user *dst, const struct group_info *src) in groups_to_user()
1246 n = sk->sk_peer_cred->group_info->ngroups; in sock_getsockopt()
1254 sk->sk_peer_cred->group_info); in sock_getsockopt()
/Linux-v4.19/Documentation/security/
Dcredentials.rst260 2. the reference count on the group_info struct it points to may be changed;
349 struct group_info *get_current_groups(void);
/Linux-v4.19/fs/nfs/flexfilelayout/
Dflexfilelayout.c31 static struct group_info *ff_zero_group;
416 struct auth_cred acred = { .group_info = ff_zero_group }; in ff_layout_alloc_lseg()