/openbmc/linux/fs/nfs/ |
H A D | nfs4idmap.c | 65 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 …]
|
/openbmc/linux/fs/ |
H A D | mnt_idmapping.c | 35 bool check_fsmapping(const struct mnt_idmap *idmap, in check_fsmapping() argument 38 return idmap->owner != sb->s_user_ns; in check_fsmapping() 96 vfsuid_t make_vfsuid(struct mnt_idmap *idmap, in make_vfsuid() argument 101 struct user_namespace *mnt_userns = idmap->owner; in make_vfsuid() 135 vfsgid_t make_vfsgid(struct mnt_idmap *idmap, in make_vfsgid() argument 139 struct user_namespace *mnt_userns = idmap->owner; in make_vfsgid() 164 kuid_t from_vfsuid(struct mnt_idmap *idmap, in from_vfsuid() argument 168 struct user_namespace *mnt_userns = idmap->owner; in from_vfsuid() 192 kgid_t from_vfsgid(struct mnt_idmap *idmap, in from_vfsgid() argument 196 struct user_namespace *mnt_userns = idmap->owner; in from_vfsgid() [all …]
|
H A D | attr.c | 37 int setattr_should_drop_sgid(struct mnt_idmap *idmap, in setattr_should_drop_sgid() argument 46 if (!in_group_or_capable(idmap, inode, i_gid_into_vfsgid(idmap, inode))) in setattr_should_drop_sgid() 67 int setattr_should_drop_suidgid(struct mnt_idmap *idmap, in setattr_should_drop_suidgid() argument 77 kill |= setattr_should_drop_sgid(idmap, inode); in setattr_should_drop_suidgid() 98 static bool chown_ok(struct mnt_idmap *idmap, in chown_ok() argument 101 vfsuid_t vfsuid = i_uid_into_vfsuid(idmap, inode); in chown_ok() 105 if (capable_wrt_inode_uidgid(idmap, inode, CAP_CHOWN)) in chown_ok() 125 static bool chgrp_ok(struct mnt_idmap *idmap, in chgrp_ok() argument 128 vfsgid_t vfsgid = i_gid_into_vfsgid(idmap, inode); in chgrp_ok() 129 vfsuid_t vfsuid = i_uid_into_vfsuid(idmap, inode); in chgrp_ok() [all …]
|
H A D | posix_acl.c | 115 static struct posix_acl *__get_acl(struct mnt_idmap *idmap, in __get_acl() argument 158 acl = inode->i_op->get_acl(idmap, dentry, type); in __get_acl() 376 posix_acl_permission(struct mnt_idmap *idmap, struct inode *inode, in posix_acl_permission() argument 391 vfsuid = i_uid_into_vfsuid(idmap, inode); in posix_acl_permission() 396 vfsuid = make_vfsuid(idmap, fs_userns, in posix_acl_permission() 402 vfsgid = i_gid_into_vfsgid(idmap, inode); in posix_acl_permission() 410 vfsgid = make_vfsgid(idmap, fs_userns, in posix_acl_permission() 606 posix_acl_chmod(struct mnt_idmap *idmap, struct dentry *dentry, in posix_acl_chmod() argument 628 ret = inode->i_op->set_acl(idmap, dentry, acl, ACL_TYPE_ACCESS); in posix_acl_chmod() 707 int posix_acl_update_mode(struct mnt_idmap *idmap, in posix_acl_update_mode() argument [all …]
|
H A D | xattr.c | 98 int may_write_xattr(struct mnt_idmap *idmap, struct inode *inode) in may_write_xattr() argument 104 if (HAS_UNMAPPED_ID(idmap, inode)) in may_write_xattr() 114 xattr_permission(struct mnt_idmap *idmap, struct inode *inode, in xattr_permission() argument 120 ret = may_write_xattr(idmap, inode); in xattr_permission() 152 !inode_owner_or_capable(idmap, inode)) in xattr_permission() 156 return inode_permission(idmap, inode, mask); in xattr_permission() 185 __vfs_setxattr(struct mnt_idmap *idmap, struct dentry *dentry, in __vfs_setxattr() argument 201 return handler->set(handler, idmap, dentry, inode, name, value, in __vfs_setxattr() 223 int __vfs_setxattr_noperm(struct mnt_idmap *idmap, in __vfs_setxattr_noperm() argument 235 error = __vfs_setxattr(idmap, dentry, inode, name, value, in __vfs_setxattr_noperm() [all …]
|
H A D | bad_inode.c | 30 static int bad_inode_create(struct mnt_idmap *idmap, in bad_inode_create() argument 54 static int bad_inode_symlink(struct mnt_idmap *idmap, in bad_inode_symlink() argument 61 static int bad_inode_mkdir(struct mnt_idmap *idmap, struct inode *dir, in bad_inode_mkdir() argument 72 static int bad_inode_mknod(struct mnt_idmap *idmap, struct inode *dir, in bad_inode_mknod() argument 78 static int bad_inode_rename2(struct mnt_idmap *idmap, in bad_inode_rename2() argument 92 static int bad_inode_permission(struct mnt_idmap *idmap, in bad_inode_permission() argument 98 static int bad_inode_getattr(struct mnt_idmap *idmap, in bad_inode_getattr() argument 105 static int bad_inode_setattr(struct mnt_idmap *idmap, in bad_inode_setattr() argument 148 static int bad_inode_tmpfile(struct mnt_idmap *idmap, in bad_inode_tmpfile() argument 155 static int bad_inode_set_acl(struct mnt_idmap *idmap, in bad_inode_set_acl() argument
|
H A D | internal.h | 58 int may_linkat(struct mnt_idmap *idmap, const struct path *link); 189 bool in_group_or_capable(struct mnt_idmap *idmap, 264 ssize_t do_getxattr(struct mnt_idmap *idmap, 269 int do_setxattr(struct mnt_idmap *idmap, struct dentry *dentry, 271 int may_write_xattr(struct mnt_idmap *idmap, struct inode *inode); 274 int do_set_acl(struct mnt_idmap *idmap, struct dentry *dentry, 276 ssize_t do_get_acl(struct mnt_idmap *idmap, struct dentry *dentry, 279 static inline int do_set_acl(struct mnt_idmap *idmap, in do_set_acl() argument 285 static inline ssize_t do_get_acl(struct mnt_idmap *idmap, in do_get_acl() argument 299 struct mnt_idmap *mnt_idmap_get(struct mnt_idmap *idmap); [all …]
|
H A D | namei.c | 294 static int check_acl(struct mnt_idmap *idmap, in check_acl() argument 307 return posix_acl_permission(idmap, inode, acl, mask); in check_acl() 314 int error = posix_acl_permission(idmap, inode, acl, mask); in check_acl() 339 static int acl_permission_check(struct mnt_idmap *idmap, in acl_permission_check() argument 346 vfsuid = i_uid_into_vfsuid(idmap, inode); in acl_permission_check() 355 int error = check_acl(idmap, inode, mask); in acl_permission_check() 369 vfsgid_t vfsgid = i_gid_into_vfsgid(idmap, inode); in acl_permission_check() 400 int generic_permission(struct mnt_idmap *idmap, struct inode *inode, in generic_permission() argument 408 ret = acl_permission_check(idmap, inode, mask); in generic_permission() 415 if (capable_wrt_inode_uidgid(idmap, inode, in generic_permission() [all …]
|
/openbmc/linux/include/linux/ |
H A D | evm.h | 24 extern int evm_inode_setattr(struct mnt_idmap *idmap, 27 extern int evm_inode_setxattr(struct mnt_idmap *idmap, 35 extern int evm_inode_removexattr(struct mnt_idmap *idmap, 39 static inline void evm_inode_post_remove_acl(struct mnt_idmap *idmap, in evm_inode_post_remove_acl() argument 45 extern int evm_inode_set_acl(struct mnt_idmap *idmap, 48 static inline int evm_inode_remove_acl(struct mnt_idmap *idmap, in evm_inode_remove_acl() argument 52 return evm_inode_set_acl(idmap, dentry, acl_name, NULL); in evm_inode_remove_acl() 95 static inline int evm_inode_setattr(struct mnt_idmap *idmap, in evm_inode_setattr() argument 106 static inline int evm_inode_setxattr(struct mnt_idmap *idmap, in evm_inode_setxattr() argument 126 static inline int evm_inode_removexattr(struct mnt_idmap *idmap, in evm_inode_removexattr() argument [all …]
|
H A D | mnt_idmapping.h | 118 vfsuid_t make_vfsuid(struct mnt_idmap *idmap, 121 vfsgid_t make_vfsgid(struct mnt_idmap *idmap, 124 kuid_t from_vfsuid(struct mnt_idmap *idmap, 127 kgid_t from_vfsgid(struct mnt_idmap *idmap, 142 static inline bool vfsuid_has_fsmapping(struct mnt_idmap *idmap, in vfsuid_has_fsmapping() argument 146 return uid_valid(from_vfsuid(idmap, fs_userns, vfsuid)); in vfsuid_has_fsmapping() 180 static inline bool vfsgid_has_fsmapping(struct mnt_idmap *idmap, in vfsgid_has_fsmapping() argument 184 return gid_valid(from_vfsgid(idmap, fs_userns, vfsgid)); in vfsgid_has_fsmapping() 219 static inline kuid_t mapped_fsuid(struct mnt_idmap *idmap, in mapped_fsuid() argument 222 return from_vfsuid(idmap, fs_userns, VFSUIDT_INIT(current_fsuid())); in mapped_fsuid() [all …]
|
H A D | ima.h | 21 extern void ima_post_create_tmpfile(struct mnt_idmap *idmap, 34 extern void ima_post_path_mknod(struct mnt_idmap *idmap, 70 static inline void ima_post_create_tmpfile(struct mnt_idmap *idmap, in ima_post_create_tmpfile() argument 116 static inline void ima_post_path_mknod(struct mnt_idmap *idmap, in ima_post_path_mknod() argument 188 extern void ima_inode_post_setattr(struct mnt_idmap *idmap, 192 extern int ima_inode_set_acl(struct mnt_idmap *idmap, 195 static inline int ima_inode_remove_acl(struct mnt_idmap *idmap, in ima_inode_remove_acl() argument 199 return ima_inode_set_acl(idmap, dentry, acl_name, NULL); in ima_inode_remove_acl() 208 static inline void ima_inode_post_setattr(struct mnt_idmap *idmap, in ima_inode_post_setattr() argument 222 static inline int ima_inode_set_acl(struct mnt_idmap *idmap, in ima_inode_set_acl() argument [all …]
|
H A D | posix_acl.h | 103 int vfs_set_acl(struct mnt_idmap *idmap, struct dentry *dentry, 105 struct posix_acl *vfs_get_acl(struct mnt_idmap *idmap, 107 int vfs_remove_acl(struct mnt_idmap *idmap, struct dentry *dentry, 112 static inline int posix_acl_chmod(struct mnt_idmap *idmap, in posix_acl_chmod() argument 139 static inline int vfs_set_acl(struct mnt_idmap *idmap, in vfs_set_acl() argument 146 static inline struct posix_acl *vfs_get_acl(struct mnt_idmap *idmap, in vfs_get_acl() argument 153 static inline int vfs_remove_acl(struct mnt_idmap *idmap, in vfs_remove_acl() argument
|
/openbmc/linux/fs/smb/server/ |
H A D | vfs.h | 76 void ksmbd_vfs_query_maximal_access(struct mnt_idmap *idmap, 104 ssize_t ksmbd_vfs_getxattr(struct mnt_idmap *idmap, 108 ssize_t ksmbd_vfs_casexattr_len(struct mnt_idmap *idmap, 111 int ksmbd_vfs_setxattr(struct mnt_idmap *idmap, 117 int ksmbd_vfs_remove_xattr(struct mnt_idmap *idmap, 139 struct mnt_idmap *idmap, 145 int ksmbd_vfs_remove_acl_xattrs(struct mnt_idmap *idmap, 147 int ksmbd_vfs_remove_sd_xattrs(struct mnt_idmap *idmap, const struct path *path); 149 struct mnt_idmap *idmap, 154 struct mnt_idmap *idmap, [all …]
|
H A D | vfs.c | 143 void ksmbd_vfs_query_maximal_access(struct mnt_idmap *idmap, in ksmbd_vfs_query_maximal_access() argument 148 if (!inode_permission(idmap, d_inode(dentry), MAY_OPEN | MAY_WRITE)) in ksmbd_vfs_query_maximal_access() 154 if (!inode_permission(idmap, d_inode(dentry), MAY_OPEN | MAY_READ)) in ksmbd_vfs_query_maximal_access() 157 if (!inode_permission(idmap, d_inode(dentry), MAY_OPEN | MAY_EXEC)) in ksmbd_vfs_query_maximal_access() 160 if (!inode_permission(idmap, d_inode(dentry->d_parent), MAY_EXEC | MAY_WRITE)) in ksmbd_vfs_query_maximal_access() 212 struct mnt_idmap *idmap; in ksmbd_vfs_mkdir() local 228 idmap = mnt_idmap(path.mnt); in ksmbd_vfs_mkdir() 230 err = vfs_mkdir(idmap, d_inode(path.dentry), dentry, mode); in ksmbd_vfs_mkdir() 234 d = lookup_one(idmap, dentry->d_name.name, dentry->d_parent, in ksmbd_vfs_mkdir() 257 static ssize_t ksmbd_vfs_getcasexattr(struct mnt_idmap *idmap, in ksmbd_vfs_getcasexattr() argument [all …]
|
H A D | smbacl.c | 257 static int sid_to_id(struct mnt_idmap *idmap, in sid_to_id() argument 279 uid = from_vfsuid(idmap, &init_user_ns, VFSUIDT_INIT(uid)); in sid_to_id() 290 gid = from_vfsgid(idmap, &init_user_ns, VFSGIDT_INIT(gid)); in sid_to_id() 365 static void parse_dacl(struct mnt_idmap *idmap, in parse_dacl() argument 495 ret = sid_to_id(idmap, &ppace[i]->sid, SIDOWNER, &temp_fattr); in parse_dacl() 581 static void set_posix_acl_entries_dacl(struct mnt_idmap *idmap, in set_posix_acl_entries_dacl() argument 606 uid = posix_acl_uid_translate(idmap, pace); in set_posix_acl_entries_dacl() 613 gid = posix_acl_gid_translate(idmap, pace); in set_posix_acl_entries_dacl() 672 uid = posix_acl_uid_translate(idmap, pace); in set_posix_acl_entries_dacl() 677 gid = posix_acl_gid_translate(idmap, pace); in set_posix_acl_entries_dacl() [all …]
|
H A D | smbacl.h | 193 int parse_sec_desc(struct mnt_idmap *idmap, struct smb_ntsd *pntsd, 195 int build_sec_desc(struct mnt_idmap *idmap, struct smb_ntsd *pntsd, 214 static inline uid_t posix_acl_uid_translate(struct mnt_idmap *idmap, in posix_acl_uid_translate() argument 220 vfsuid = make_vfsuid(idmap, &init_user_ns, pace->e_uid); in posix_acl_uid_translate() 226 static inline gid_t posix_acl_gid_translate(struct mnt_idmap *idmap, in posix_acl_gid_translate() argument 232 vfsgid = make_vfsgid(idmap, &init_user_ns, pace->e_gid); in posix_acl_gid_translate()
|
/openbmc/linux/fs/xfs/ |
H A D | xfs_iops.c | 166 struct mnt_idmap *idmap, in xfs_generic_create() argument 200 error = xfs_create(idmap, XFS_I(dir), &name, mode, rdev, in xfs_generic_create() 204 error = xfs_create_tmpfile(idmap, XFS_I(dir), mode, &ip); in xfs_generic_create() 259 struct mnt_idmap *idmap, in xfs_vn_mknod() argument 265 return xfs_generic_create(idmap, dir, dentry, mode, rdev, NULL); in xfs_vn_mknod() 270 struct mnt_idmap *idmap, in xfs_vn_create() argument 276 return xfs_generic_create(idmap, dir, dentry, mode, 0, NULL); in xfs_vn_create() 281 struct mnt_idmap *idmap, in xfs_vn_mkdir() argument 286 return xfs_generic_create(idmap, dir, dentry, mode | S_IFDIR, 0, NULL); in xfs_vn_mkdir() 403 struct mnt_idmap *idmap, in xfs_vn_symlink() argument [all …]
|
/openbmc/linux/Documentation/admin-guide/nfs/ |
H A D | nfs-idmapper.rst | 9 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 …]
|
/openbmc/linux/security/integrity/evm/ |
H A D | evm_main.c | 450 static int evm_xattr_change(struct mnt_idmap *idmap, in evm_xattr_change() argument 486 static int evm_protect_xattr(struct mnt_idmap *idmap, in evm_protect_xattr() argument 542 !evm_xattr_change(idmap, dentry, xattr_name, xattr_value, in evm_protect_xattr() 569 int evm_inode_setxattr(struct mnt_idmap *idmap, struct dentry *dentry, in evm_inode_setxattr() argument 588 return evm_protect_xattr(idmap, dentry, xattr_name, xattr_value, in evm_inode_setxattr() 601 int evm_inode_removexattr(struct mnt_idmap *idmap, in evm_inode_removexattr() argument 610 return evm_protect_xattr(idmap, dentry, xattr_name, NULL, 0); in evm_inode_removexattr() 614 static int evm_inode_set_acl_change(struct mnt_idmap *idmap, in evm_inode_set_acl_change() argument 626 rc = posix_acl_update_mode(idmap, inode, &mode, &kacl); in evm_inode_set_acl_change() 633 static inline int evm_inode_set_acl_change(struct mnt_idmap *idmap, in evm_inode_set_acl_change() argument [all …]
|
/openbmc/linux/fs/f2fs/ |
H A D | namei.c | 219 static struct inode *f2fs_new_inode(struct mnt_idmap *idmap, in f2fs_new_inode() argument 242 inode_init_owner(idmap, inode, dir, mode); in f2fs_new_inode() 350 static int f2fs_create(struct mnt_idmap *idmap, struct inode *dir, in f2fs_create() argument 367 inode = f2fs_new_inode(idmap, dir, mode, dentry->d_name.name); in f2fs_create() 607 static int f2fs_symlink(struct mnt_idmap *idmap, struct inode *dir, in f2fs_symlink() argument 630 inode = f2fs_new_inode(idmap, dir, S_IFLNK | S_IRWXUGO, NULL); in f2fs_symlink() 687 static int f2fs_mkdir(struct mnt_idmap *idmap, struct inode *dir, in f2fs_mkdir() argument 701 inode = f2fs_new_inode(idmap, dir, S_IFDIR | mode, NULL); in f2fs_mkdir() 742 static int f2fs_mknod(struct mnt_idmap *idmap, struct inode *dir, in f2fs_mknod() argument 758 inode = f2fs_new_inode(idmap, dir, mode, NULL); in f2fs_mknod() [all …]
|
/openbmc/linux/fs/fat/ |
H A D | file.c | 398 int fat_getattr(struct mnt_idmap *idmap, const struct path *path, in fat_getattr() argument 404 generic_fillattr(idmap, request_mask, inode, stat); in fat_getattr() 459 static int fat_allow_set_time(struct mnt_idmap *idmap, in fat_allow_set_time() argument 464 if (!vfsuid_eq_kuid(i_uid_into_vfsuid(idmap, inode), in fat_allow_set_time() 466 if (vfsgid_in_group_p(i_gid_into_vfsgid(idmap, inode))) in fat_allow_set_time() 480 int fat_setattr(struct mnt_idmap *idmap, struct dentry *dentry, in fat_setattr() argument 491 if (fat_allow_set_time(idmap, sbi, inode)) in fat_setattr() 495 error = setattr_prepare(idmap, dentry, attr); in fat_setattr() 521 (!uid_eq(from_vfsuid(idmap, i_user_ns(inode), attr->ia_vfsuid), in fat_setattr() 524 (!gid_eq(from_vfsgid(idmap, i_user_ns(inode), attr->ia_vfsgid), in fat_setattr() [all …]
|
/openbmc/linux/fs/minix/ |
H A D | namei.c | 36 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 int minix_mkdir(struct mnt_idmap *idmap, struct inode *dir, in minix_mkdir() argument 177 static int minix_rename(struct mnt_idmap *idmap, in minix_rename() argument
|
/openbmc/linux/fs/fuse/ |
H A D | acl.c | 15 struct mnt_idmap *idmap, in __fuse_get_acl() argument 68 struct posix_acl *fuse_get_acl(struct mnt_idmap *idmap, in fuse_get_acl() argument 77 return __fuse_get_acl(fc, idmap, inode, type, false); in fuse_get_acl() 97 int fuse_set_acl(struct mnt_idmap *idmap, struct dentry *dentry, in fuse_set_acl() argument
|
/openbmc/openbmc/meta-openembedded/meta-networking/recipes-connectivity/samba/samba/ |
H A D | smb.conf | 155 ; idmap config * : backend = tdb 156 ; idmap config * : range = 3000-7999 157 ; idmap config YOURDOMAINHERE : backend = tdb 158 ; idmap config YOURDOMAINHERE : range = 100000-999999
|
/openbmc/linux/arch/arm64/include/asm/ |
H A D | mmu_context.h | 113 static inline void __cpu_install_idmap(pgd_t *idmap) in __cpu_install_idmap() argument 119 cpu_switch_mm(lm_alias(idmap), &init_mm); in __cpu_install_idmap() 155 static inline void cpu_replace_ttbr1(pgd_t *pgdp, pgd_t *idmap) in cpu_replace_ttbr1() argument 179 __cpu_install_idmap(idmap); in cpu_replace_ttbr1()
|