Home
last modified time | relevance | path

Searched refs:idmap (Results 1 – 25 of 179) sorted by relevance

12345678

/linux/fs/
H A Dmnt_idmapping.c61 * @idmap: the mount's idmapping
65 * Take a @kuid and remap it from @fs_userns into @idmap. Use this
75 * Return: @kuid mapped according to @idmap.
76 * If @kuid has no mapping in either @idmap or @fs_userns INVALID_UID is
80 vfsuid_t make_vfsuid(struct mnt_idmap *idmap, in make_vfsuid() argument
86 if (idmap == &nop_mnt_idmap) in make_vfsuid()
88 if (idmap == &invalid_mnt_idmap) in make_vfsuid()
96 return VFSUIDT_INIT_RAW(map_id_down(&idmap->uid_map, uid)); in make_vfsuid()
102 * @idmap: the mount's idmapping
106 * Take a @kgid and remap it from @fs_userns into @idmap
120 make_vfsgid(struct mnt_idmap * idmap,struct user_namespace * fs_userns,kgid_t kgid) make_vfsgid() argument
150 from_vfsuid(struct mnt_idmap * idmap,struct user_namespace * fs_userns,vfsuid_t vfsuid) from_vfsuid() argument
179 from_vfsgid(struct mnt_idmap * idmap,struct user_namespace * fs_userns,vfsgid_t vfsgid) from_vfsgid() argument
274 free_mnt_idmap(struct mnt_idmap * idmap) free_mnt_idmap() argument
289 struct mnt_idmap *idmap; alloc_mnt_idmap() local
315 mnt_idmap_get(struct mnt_idmap * idmap) mnt_idmap_get() argument
331 mnt_idmap_put(struct mnt_idmap * idmap) mnt_idmap_put() argument
339 statmount_mnt_idmap(struct mnt_idmap * idmap,struct seq_file * seq,bool uid_map) statmount_mnt_idmap() argument
[all...]
H A Dposix_acl.c114 static struct posix_acl *__get_acl(struct mnt_idmap *idmap, in __get_acl() argument
157 acl = inode->i_op->get_acl(idmap, dentry, type); in __get_acl()
374 posix_acl_permission(struct mnt_idmap *idmap, struct inode *inode, in posix_acl_permission() argument
389 vfsuid = i_uid_into_vfsuid(idmap, inode); in posix_acl_permission()
394 vfsuid = make_vfsuid(idmap, fs_userns, in posix_acl_permission()
400 vfsgid = i_gid_into_vfsgid(idmap, inode); in posix_acl_permission()
408 vfsgid = make_vfsgid(idmap, fs_userns, in posix_acl_permission()
604 posix_acl_chmod(struct mnt_idmap *idmap, struct dentry *dentry, in posix_acl_chmod() argument
626 ret = inode->i_op->set_acl(idmap, dentry, acl, ACL_TYPE_ACCESS); in posix_acl_chmod()
705 int posix_acl_update_mode(struct mnt_idmap *idmap, in posix_acl_update_mode() argument
[all …]
H A Dnamei.c369 static int check_acl(struct mnt_idmap *idmap, in check_acl() argument
382 return posix_acl_permission(idmap, inode, acl, mask); in check_acl()
389 int error = posix_acl_permission(idmap, inode, acl, mask); in check_acl()
433 static int acl_permission_check(struct mnt_idmap *idmap, in acl_permission_check() argument
462 vfsuid = i_uid_into_vfsuid(idmap, inode); in acl_permission_check()
471 int error = check_acl(idmap, inode, mask); in acl_permission_check()
485 vfsgid_t vfsgid = i_gid_into_vfsgid(idmap, inode); in acl_permission_check()
516 int generic_permission(struct mnt_idmap *idmap, struct inode *inode, in generic_permission() argument
524 ret = acl_permission_check(idmap, inode, mask); in generic_permission()
531 if (capable_wrt_inode_uidgid(idmap, inode, in generic_permission()
[all …]
H A Dfile_attr.c268 int vfs_fileattr_set(struct mnt_idmap *idmap, struct dentry *dentry, in vfs_fileattr_set() argument
278 if (!inode_owner_or_capable(idmap, inode)) in vfs_fileattr_set()
301 err = inode->i_op->fileattr_set(idmap, dentry, fa); in vfs_fileattr_set()
326 struct mnt_idmap *idmap = file_mnt_idmap(file); in ioctl_setflags() local
337 err = vfs_fileattr_set(idmap, dentry, &fa); in ioctl_setflags()
358 struct mnt_idmap *idmap = file_mnt_idmap(file); in ioctl_fssetxattr() local
367 err = vfs_fileattr_set(idmap, dentry, &fa); in ioctl_fssetxattr()
/linux/fs/nfs/
H A Dnfs4idmap.c65 struct idmap *idmap; member
68 struct idmap { struct
76 static struct user_namespace *idmap_userns(const struct idmap *idmap) in idmap_userns() argument
78 if (idmap && idmap->user_ns) in idmap_userns()
79 return idmap->user_ns; in idmap_userns()
280 const char *type, struct idmap *idmap) in nfs_idmap_request_key() argument
290 if (!idmap->user_ns || idmap->user_ns == &init_user_ns) in nfs_idmap_request_key()
293 mutex_lock(&idmap->idmap_mutex); in nfs_idmap_request_key()
295 desc, NULL, "", 0, idmap); in nfs_idmap_request_key()
296 mutex_unlock(&idmap->idmap_mutex); in nfs_idmap_request_key()
[all …]
H A Dnamespace.c225 nfs_namespace_getattr(struct mnt_idmap *idmap, in nfs_namespace_getattr() argument
230 return nfs_getattr(idmap, path, stat, request_mask, in nfs_namespace_getattr()
238 nfs_namespace_setattr(struct mnt_idmap *idmap, struct dentry *dentry, in nfs_namespace_setattr() argument
242 return nfs_setattr(idmap, dentry, attr); in nfs_namespace_setattr()
/linux/fs/smb/server/
H A Dvfs.c122 void ksmbd_vfs_query_maximal_access(struct mnt_idmap *idmap, in ksmbd_vfs_query_maximal_access() argument
127 if (!inode_permission(idmap, d_inode(dentry), MAY_OPEN | MAY_WRITE)) in ksmbd_vfs_query_maximal_access()
133 if (!inode_permission(idmap, d_inode(dentry), MAY_OPEN | MAY_READ)) in ksmbd_vfs_query_maximal_access()
136 if (!inode_permission(idmap, d_inode(dentry), MAY_OPEN | MAY_EXEC)) in ksmbd_vfs_query_maximal_access()
139 if (!inode_permission(idmap, d_inode(dentry->d_parent), MAY_EXEC | MAY_WRITE)) in ksmbd_vfs_query_maximal_access()
190 struct mnt_idmap *idmap; in ksmbd_vfs_mkdir() local
206 idmap = mnt_idmap(path.mnt); in ksmbd_vfs_mkdir()
209 dentry = vfs_mkdir(idmap, d_inode(path.dentry), dentry, mode, NULL); in ksmbd_vfs_mkdir()
223 static ssize_t ksmbd_vfs_getcasexattr(struct mnt_idmap *idmap, in ksmbd_vfs_getcasexattr() argument
240 value_len = ksmbd_vfs_getxattr(idmap, in ksmbd_vfs_getcasexattr()
[all …]
H A Dsmbacl.h84 int parse_sec_desc(struct mnt_idmap *idmap, struct smb_ntsd *pntsd,
86 int build_sec_desc(struct mnt_idmap *idmap, struct smb_ntsd *pntsd,
107 static inline uid_t posix_acl_uid_translate(struct mnt_idmap *idmap, in posix_acl_uid_translate() argument
113 vfsuid = make_vfsuid(idmap, &init_user_ns, pace->e_uid); in posix_acl_uid_translate()
119 static inline gid_t posix_acl_gid_translate(struct mnt_idmap *idmap, in posix_acl_gid_translate() argument
125 vfsgid = make_vfsgid(idmap, &init_user_ns, pace->e_gid); in posix_acl_gid_translate()
H A Dsmbacl.c257 static int sid_to_id(struct mnt_idmap *idmap, in sid_to_id() argument
284 uid = from_vfsuid(idmap, &init_user_ns, VFSUIDT_INIT(uid)); in sid_to_id()
295 gid = from_vfsgid(idmap, &init_user_ns, VFSGIDT_INIT(gid)); in sid_to_id()
370 static void parse_dacl(struct mnt_idmap *idmap, in parse_dacl() argument
504 ret = sid_to_id(idmap, &ppace[i]->sid, SIDOWNER, &temp_fattr); in parse_dacl()
590 static void set_posix_acl_entries_dacl(struct mnt_idmap *idmap, in set_posix_acl_entries_dacl() argument
616 uid = posix_acl_uid_translate(idmap, pace); in set_posix_acl_entries_dacl()
623 gid = posix_acl_gid_translate(idmap, pace); in set_posix_acl_entries_dacl()
686 uid = posix_acl_uid_translate(idmap, pace); in set_posix_acl_entries_dacl()
691 gid = posix_acl_gid_translate(idmap, pace); in set_posix_acl_entries_dacl()
[all …]
/linux/Documentation/admin-guide/nfs/
H A Dnfs-idmapper.rst9 or by placing a call to the rpc.idmap daemon.
19 legacy rpc.idmap daemon for the id mapping. This result will be stored
20 in a custom NFS idmap cache.
31 ``create id_resolver * * /usr/sbin/nfs.idmap %k %d 600``
34 This will direct all id_resolver requests to the program /usr/sbin/nfs.idmap.
36 expire. This parameter is optional for /usr/sbin/nfs.idmap. When the timeout
37 is not specified, nfs.idmap will default to 600 seconds.
53 ``create id_resolver * * /usr/sbin/nfs.idmap %k %d 600``
59 /usr/sbin/nfs.idmap will handle gid, user, and group lookups.
65 nfs.idmap
[all …]
/linux/security/integrity/evm/
H A Devm_main.c474 * @idmap: idmap of the mount in evm_xattr_change()
484 static int evm_xattr_change(struct mnt_idmap *idmap,
520 static int evm_protect_xattr(struct mnt_idmap *idmap, in evm_protect_xattr()
582 !evm_xattr_change(idmap, dentry, xattr_name, xattr_value,
597 * @idmap: idmap of the mount in evm_inode_setxattr()
610 static int evm_inode_setxattr(struct mnt_idmap *idmap, struct dentry *dentry,
629 return evm_protect_xattr(idmap, dentry, xattr_name, xattr_value, in evm_inode_removexattr()
635 * @idmap in evm_inode_set_acl_change()
461 evm_xattr_change(struct mnt_idmap * idmap,struct dentry * dentry,const char * xattr_name,const void * xattr_value,size_t xattr_value_len) evm_xattr_change() argument
497 evm_protect_xattr(struct mnt_idmap * idmap,struct dentry * dentry,const char * xattr_name,const void * xattr_value,size_t xattr_value_len) evm_protect_xattr() argument
587 evm_inode_setxattr(struct mnt_idmap * idmap,struct dentry * dentry,const char * xattr_name,const void * xattr_value,size_t xattr_value_len,int flags) evm_inode_setxattr() argument
619 evm_inode_removexattr(struct mnt_idmap * idmap,struct dentry * dentry,const char * xattr_name) evm_inode_removexattr() argument
632 evm_inode_set_acl_change(struct mnt_idmap * idmap,struct dentry * dentry,const char * name,struct posix_acl * kacl) evm_inode_set_acl_change() argument
651 evm_inode_set_acl_change(struct mnt_idmap * idmap,struct dentry * dentry,const char * name,struct posix_acl * kacl) evm_inode_set_acl_change() argument
673 evm_inode_set_acl(struct mnt_idmap * idmap,struct dentry * dentry,const char * acl_name,struct posix_acl * kacl) evm_inode_set_acl() argument
725 evm_inode_remove_acl(struct mnt_idmap * idmap,struct dentry * dentry,const char * acl_name) evm_inode_remove_acl() argument
878 evm_inode_post_remove_acl(struct mnt_idmap * idmap,struct dentry * dentry,const char * acl_name) evm_inode_post_remove_acl() argument
885 evm_attr_change(struct mnt_idmap * idmap,struct dentry * dentry,struct iattr * attr) evm_attr_change() argument
908 evm_inode_setattr(struct mnt_idmap * idmap,struct dentry * dentry,struct iattr * attr) evm_inode_setattr() argument
960 evm_inode_post_setattr(struct mnt_idmap * idmap,struct dentry * dentry,int ia_valid) evm_inode_post_setattr() argument
1092 evm_post_path_mknod(struct mnt_idmap * idmap,struct dentry * dentry) evm_post_path_mknod() argument
[all...]
/linux/fs/efivarfs/
H A Dinode.c77 static int efivarfs_create(struct mnt_idmap *idmap, struct inode *dir, in efivarfs_create() argument
153 efivarfs_fileattr_set(struct mnt_idmap *idmap, in efivarfs_fileattr_set() argument
173 static int efivarfs_setattr(struct mnt_idmap *idmap, struct dentry *dentry, in efivarfs_setattr() argument
179 error = setattr_prepare(idmap, dentry, iattr); in efivarfs_setattr()
183 setattr_copy(idmap, inode, iattr); in efivarfs_setattr()
/linux/fs/minix/
H A Dnamei.c36 static int minix_mknod(struct mnt_idmap *idmap, struct inode *dir, in minix_mknod() argument
53 static int minix_tmpfile(struct mnt_idmap *idmap, struct inode *dir, in minix_tmpfile() argument
66 static int minix_create(struct mnt_idmap *idmap, struct inode *dir, in minix_create() argument
72 static int minix_symlink(struct mnt_idmap *idmap, struct inode *dir, in minix_symlink() argument
107 static struct dentry *minix_mkdir(struct mnt_idmap *idmap, struct inode *dir, in minix_mkdir() argument
190 static int minix_rename(struct mnt_idmap *idmap, in minix_rename() argument
/linux/fs/f2fs/
H A Dacl.c208 static int f2fs_acl_update_mode(struct mnt_idmap *idmap, in f2fs_acl_update_mode() argument
223 if (!in_group_or_capable(idmap, inode, i_gid_into_vfsgid(idmap, inode))) in f2fs_acl_update_mode()
229 static int __f2fs_set_acl(struct mnt_idmap *idmap, in __f2fs_set_acl() argument
243 error = f2fs_acl_update_mode(idmap, inode, &mode, &acl); in __f2fs_set_acl()
278 int f2fs_set_acl(struct mnt_idmap *idmap, struct dentry *dentry, in f2fs_set_acl() argument
286 return __f2fs_set_acl(idmap, inode, type, acl, NULL); in f2fs_set_acl()
/linux/fs/ocfs2/
H A Dfile.h53 int ocfs2_setattr(struct mnt_idmap *idmap, struct dentry *dentry,
55 int ocfs2_getattr(struct mnt_idmap *idmap, const struct path *path,
57 int ocfs2_permission(struct mnt_idmap *idmap,
/linux/fs/ramfs/
H A Dinode.c98 ramfs_mknod(struct mnt_idmap *idmap, struct inode *dir, in ramfs_mknod() argument
121 static struct dentry *ramfs_mkdir(struct mnt_idmap *idmap, struct inode *dir, in ramfs_mkdir() argument
130 static int ramfs_create(struct mnt_idmap *idmap, struct inode *dir, in ramfs_create() argument
136 static int ramfs_symlink(struct mnt_idmap *idmap, struct inode *dir, in ramfs_symlink() argument
166 static int ramfs_tmpfile(struct mnt_idmap *idmap, in ramfs_tmpfile() argument
/linux/fs/xfs/
H A Dxfs_itable.c66 struct mnt_idmap *idmap, in xfs_bulkstat_one_int() argument
102 vfsuid = i_uid_into_vfsuid(idmap, inode); in xfs_bulkstat_one_int()
103 vfsgid = i_gid_into_vfsgid(idmap, inode); in xfs_bulkstat_one_int()
225 if (breq->idmap != &nop_mnt_idmap) { in xfs_bulkstat_one()
243 error = xfs_bulkstat_one_int(breq->mp, breq->idmap, tp, in xfs_bulkstat_one()
268 error = xfs_bulkstat_one_int(mp, bc->breq->idmap, tp, ino, data); in xfs_bulkstat_iwalk()
312 if (breq->idmap != &nop_mnt_idmap) { in xfs_bulkstat()
/linux/security/integrity/ima/
H A Dima_appraise.c74 int ima_must_appraise(struct mnt_idmap *idmap, struct inode *inode, in ima_must_appraise() argument
83 return ima_match_policy(idmap, inode, current_cred(), &prop, in ima_must_appraise()
617 * @idmap: idmap of the mount the inode was found from in ima_appraise_measurement()
626 static void ima_inode_post_setattr(struct mnt_idmap *idmap,
637 action = ima_must_appraise(idmap, inode, MAY_ACCESS, POST_SETATTR); in ima_update_xattr()
749 static int ima_inode_setxattr(struct mnt_idmap *idmap, struct dentry *dentry, in validate_hash_algo()
782 static int ima_inode_set_acl(struct mnt_idmap *idmap, struct dentry *dentry, in validate_hash_algo()
791 static int ima_inode_removexattr(struct mnt_idmap *idmap, struct dentry *dentry, in ima_inode_setxattr()
807 static int ima_inode_remove_acl(struct mnt_idmap *idmap, struc in ima_inode_setxattr()
661 ima_inode_post_setattr(struct mnt_idmap * idmap,struct dentry * dentry,int ia_valid) ima_inode_post_setattr() argument
784 ima_inode_setxattr(struct mnt_idmap * idmap,struct dentry * dentry,const char * xattr_name,const void * xattr_value,size_t xattr_value_len,int flags) ima_inode_setxattr() argument
817 ima_inode_set_acl(struct mnt_idmap * idmap,struct dentry * dentry,const char * acl_name,struct posix_acl * kacl) ima_inode_set_acl() argument
826 ima_inode_removexattr(struct mnt_idmap * idmap,struct dentry * dentry,const char * xattr_name) ima_inode_removexattr() argument
842 ima_inode_remove_acl(struct mnt_idmap * idmap,struct dentry * dentry,const char * acl_name) ima_inode_remove_acl() argument
[all...]
/linux/security/
H A Dcommoncap.c338 * @idmap: idmap of the mount the inode was found from
343 * If the inode has been found through an idmapped mount the idmap of
344 * the vfsmount must be passed through @idmap. This function will then
345 * take care to map the inode according to @idmap before checking
351 int cap_inode_killpriv(struct mnt_idmap *idmap, struct dentry *dentry) in cap_inode_killpriv() argument
355 error = __vfs_removexattr(idmap, dentry, XATTR_NAME_CAPS); in cap_inode_killpriv()
420 int cap_inode_getsecurity(struct mnt_idmap *idmap, in cap_inode_getsecurity() argument
441 size = vfs_getxattr_alloc(idmap, dentry, XATTR_NAME_CAPS, &tmpbuf, in cap_inode_getsecurity()
463 vfsroot = make_vfsuid(idmap, fs_n in cap_inode_getsecurity()
569 cap_convert_nscap(struct mnt_idmap * idmap,struct dentry * dentry,const void ** ivalue,size_t size) cap_convert_nscap() argument
675 get_vfs_caps_from_disk(struct mnt_idmap * idmap,const struct dentry * dentry,struct cpu_vfs_cap_data * cpu_caps) get_vfs_caps_from_disk() argument
1066 cap_inode_removexattr(struct mnt_idmap * idmap,struct dentry * dentry,const char * name) cap_inode_removexattr() argument
[all...]
H A Dsecurity.c1428 void security_path_post_mknod(struct mnt_idmap *idmap, struct dentry *dentry) in security_path_post_mknod() argument
1432 call_void_hook(path_post_mknod, idmap, dentry); in security_path_post_mknod()
1641 void security_inode_post_create_tmpfile(struct mnt_idmap *idmap, in security_inode_post_create_tmpfile() argument
1646 call_void_hook(inode_post_create_tmpfile, idmap, inode); in security_inode_post_create_tmpfile()
1858 int security_inode_setattr(struct mnt_idmap *idmap, in security_inode_setattr() argument
1863 return call_int_hook(inode_setattr, idmap, dentry, attr); in security_inode_setattr()
1875 void security_inode_post_setattr(struct mnt_idmap *idmap, struct dentry *dentry, in security_inode_post_setattr() argument
1880 call_void_hook(inode_post_setattr, idmap, dentry, ia_valid); in security_inode_post_setattr()
1924 int security_inode_setxattr(struct mnt_idmap *idmap, in security_inode_setxattr() argument
1940 return call_int_hook(inode_setxattr, idmap, dentry, name, value, size, in security_inode_setxattr()
[all …]
/linux/fs/kernfs/
H A Dkernfs-internal.h172 int kernfs_iop_permission(struct mnt_idmap *idmap,
174 int kernfs_iop_setattr(struct mnt_idmap *idmap, struct dentry *dentry,
176 int kernfs_iop_getattr(struct mnt_idmap *idmap,
/linux/fs/coda/
H A Dpioctl.c27 static int coda_ioctl_permission(struct mnt_idmap *idmap,
44 static int coda_ioctl_permission(struct mnt_idmap *idmap, in coda_ioctl_permission() argument
/linux/fs/9p/
H A Dacl.h13 struct posix_acl *v9fs_iop_get_acl(struct mnt_idmap *idmap,
15 int v9fs_iop_set_acl(struct mnt_idmap *idmap, struct dentry *dentry,
/linux/fs/tracefs/
H A Dinode.c97 static struct dentry *tracefs_syscall_mkdir(struct mnt_idmap *idmap, in tracefs_syscall_mkdir() argument
192 static int tracefs_permission(struct mnt_idmap *idmap, in tracefs_permission() argument
196 return generic_permission(idmap, inode, mask); in tracefs_permission()
199 static int tracefs_getattr(struct mnt_idmap *idmap, in tracefs_getattr() argument
206 generic_fillattr(idmap, request_mask, inode, stat); in tracefs_getattr()
210 static int tracefs_setattr(struct mnt_idmap *idmap, struct dentry *dentry, in tracefs_setattr() argument
223 return simple_setattr(idmap, dentry, attr); in tracefs_setattr()
/linux/fs/ntfs/
H A Dea.c708 struct mnt_idmap *idmap, struct dentry *unused, in ntfs_setxattr() argument
796 struct posix_acl *ntfs_get_acl(struct mnt_idmap *idmap, struct dentry *dentry, in ntfs_get_acl() argument
840 static noinline int ntfs_set_acl_ex(struct mnt_idmap *idmap, in ntfs_set_acl_ex() argument
859 err = posix_acl_update_mode(idmap, inode, &mode, &acl); in ntfs_set_acl_ex()
922 int ntfs_set_acl(struct mnt_idmap *idmap, struct dentry *dentry, in ntfs_set_acl() argument
925 return ntfs_set_acl_ex(idmap, d_inode(dentry), acl, type, false); in ntfs_set_acl()
928 int ntfs_init_acl(struct mnt_idmap *idmap, struct inode *inode, in ntfs_init_acl() argument
939 err = ntfs_set_acl_ex(idmap, inode, default_acl, in ntfs_init_acl()
948 err = ntfs_set_acl_ex(idmap, inode, acl, in ntfs_init_acl()

12345678