/linux-6.3-rc2/kernel/ |
A D | groups.c | 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 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 …]
|
A D | uid16.c | 115 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 …]
|
A D | cred.c | 36 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() 735 get_group_info(new->group_info); in prepare_kernel_cred()
|
A D | auditsc.c | 518 result = groups_search(cred->group_info, f->gid); in audit_filter_rules() 521 result = !groups_search(cred->group_info, f->gid); in audit_filter_rules() 528 result = groups_search(cred->group_info, f->gid); in audit_filter_rules() 531 result = !groups_search(cred->group_info, f->gid); in audit_filter_rules()
|
/linux-6.3-rc2/include/linux/ |
A D | cred.h | 25 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 53 groups_free(group_info); \ 57 extern struct group_info *groups_alloc(int); 58 extern void groups_free(struct group_info *); 67 extern void groups_sort(struct group_info *); 69 static inline void groups_free(struct group_info *group_info) in groups_free() argument 81 static inline int groups_search(const struct group_info *group_info, kgid_t grp) in groups_search() argument 147 struct group_info *group_info; /* supplementary groups for euid/fsgid */ member [all …]
|
A D | nfs_fs.h | 61 struct group_info *group_info; member
|
/linux-6.3-rc2/net/sunrpc/ |
A D | auth_unix.c | 91 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()
|
A D | svcauth_unix.c | 410 struct group_info *gi; 632 static struct group_info *unix_gid_find(kuid_t uid, struct svc_rqst *rqstp) in unix_gid_find() 635 struct group_info *gi; in unix_gid_find() 664 struct group_info *gi; in svcauth_unix_set_client()
|
/linux-6.3-rc2/security/safesetid/ |
A D | lsm.c | 246 get_group_info(new->group_info); in safesetid_task_fix_setgroups() 247 for (i = 0; i < new->group_info->ngroups; i++) { in safesetid_task_fix_setgroups() 248 if (!id_permitted_for_cred(old, (kid_t){.gid = new->group_info->gid[i]}, GID)) { in safesetid_task_fix_setgroups() 249 put_group_info(new->group_info); in safesetid_task_fix_setgroups() 260 put_group_info(new->group_info); in safesetid_task_fix_setgroups()
|
/linux-6.3-rc2/fs/nfsd/ |
A D | auth.c | 23 struct group_info *rqgi; in nfsd_setuser() 24 struct group_info *gi; in nfsd_setuser()
|
A D | filecache.c | 150 if (c1->group_info == NULL || c2->group_info == NULL) in nfsd_match_cred() 151 return c1->group_info == c2->group_info; in nfsd_match_cred() 152 if (c1->group_info->ngroups != c2->group_info->ngroups) in nfsd_match_cred() 154 for (i = 0; i < c1->group_info->ngroups; i++) { in nfsd_match_cred() 155 if (!gid_eq(c1->group_info->gid[i], c2->group_info->gid[i])) in nfsd_match_cred()
|
/linux-6.3-rc2/net/netfilter/ |
A D | xt_owner.c | 97 struct group_info *gi = filp->f_cred->group_info; in owner_mt()
|
/linux-6.3-rc2/fs/proc/ |
A D | array.c | 151 struct group_info *group_info; in task_state() local 199 group_info = cred->group_info; in task_state() 200 for (g = 0; g < group_info->ngroups; g++) in task_state() 202 from_kgid_munged(user_ns, group_info->gid[g])); in task_state()
|
/linux-6.3-rc2/security/keys/ |
A D | permission.c | 67 ret = groups_search(cred->group_info, key->gid); in key_task_permission()
|
A D | process_keys.c | 939 new->group_info = get_group_info(old->group_info); in key_change_session_keyring()
|
/linux-6.3-rc2/io_uring/ |
A D | fdinfo.c | 23 struct group_info *gi; in io_uring_show_cred() 37 gi = cred->group_info; in io_uring_show_cred()
|
/linux-6.3-rc2/net/ipv4/ |
A D | ping.c | 266 struct group_info *group_info; in ping_init_sock() local 278 group_info = get_current_groups(); in ping_init_sock() 279 for (i = 0; i < group_info->ngroups; i++) { in ping_init_sock() 280 kgid_t gid = group_info->gid[i]; in ping_init_sock() 289 put_group_info(group_info); in ping_init_sock()
|
/linux-6.3-rc2/include/linux/sunrpc/ |
A D | svcauth.h | 24 struct group_info *cr_group_info;
|
/linux-6.3-rc2/fs/nfs/ |
A D | dir.c | 2774 put_group_info(entry->group_info); in nfs_access_free_entry() 2902 struct group_info *ga, *gb; in access_cmp() 2915 ga = a->group_info; in access_cmp() 2916 gb = b->group_info; in access_cmp() 3115 cache->group_info = get_group_info(cred->group_info); in nfs_access_add_cache()
|
/linux-6.3-rc2/fs/ext4/ |
A D | mballoc.c | 3133 struct ext4_group_info ***group_info; in ext4_mb_add_groupinfo() local 3136 group_info = rcu_dereference(sbi->s_group_info); in ext4_mb_add_groupinfo() 3137 kfree(group_info[idx]); in ext4_mb_add_groupinfo() 3138 group_info[idx] = NULL; in ext4_mb_add_groupinfo() 3152 struct ext4_group_info ***group_info; in ext4_mb_init_backend() local 3217 group_info = rcu_dereference(sbi->s_group_info); in ext4_mb_init_backend() 3219 kfree(group_info[i]); in ext4_mb_init_backend() 3511 struct ext4_group_info *grinfo, ***group_info; in ext4_mb_release() local 3541 group_info = rcu_dereference(sbi->s_group_info); in ext4_mb_release() 3543 kfree(group_info[i]); in ext4_mb_release() [all …]
|
/linux-6.3-rc2/fs/ksmbd/ |
A D | smb_common.c | 615 struct group_info *gi; in ksmbd_override_fsids()
|
/linux-6.3-rc2/sound/pci/asihpi/ |
A D | hpifunc.c | 823 *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()
|
A D | hpi_internal.h | 761 } group_info; member
|
/linux-6.3-rc2/Documentation/security/ |
A D | credentials.rst | 260 2. the reference count on the group_info struct it points to may be changed; 348 struct group_info *get_current_groups(void);
|
/linux-6.3-rc2/net/core/ |
A D | sock.c | 1580 static int groups_to_user(sockptr_t dst, const struct group_info *src) in groups_to_user() 1764 n = cred->group_info->ngroups; in sk_getsockopt() 1772 ret = groups_to_user(optval, cred->group_info); in sk_getsockopt()
|