Lines Matching refs:idmap
73 int ksmbd_vfs_lock_parent(struct mnt_idmap *idmap, struct dentry *parent, in ksmbd_vfs_lock_parent() argument
80 dentry = lookup_one(idmap, child->d_name.name, parent, in ksmbd_vfs_lock_parent()
100 int ksmbd_vfs_may_delete(struct mnt_idmap *idmap, in ksmbd_vfs_may_delete() argument
107 ret = ksmbd_vfs_lock_parent(idmap, parent, dentry); in ksmbd_vfs_may_delete()
113 ret = inode_permission(idmap, d_inode(parent), in ksmbd_vfs_may_delete()
121 int ksmbd_vfs_query_maximal_access(struct mnt_idmap *idmap, in ksmbd_vfs_query_maximal_access() argument
129 if (!inode_permission(idmap, d_inode(dentry), MAY_OPEN | MAY_WRITE)) in ksmbd_vfs_query_maximal_access()
135 if (!inode_permission(idmap, d_inode(dentry), MAY_OPEN | MAY_READ)) in ksmbd_vfs_query_maximal_access()
138 if (!inode_permission(idmap, d_inode(dentry), MAY_OPEN | MAY_EXEC)) in ksmbd_vfs_query_maximal_access()
142 ret = ksmbd_vfs_lock_parent(idmap, parent, dentry); in ksmbd_vfs_query_maximal_access()
148 if (!inode_permission(idmap, d_inode(parent), MAY_EXEC | MAY_WRITE)) in ksmbd_vfs_query_maximal_access()
203 struct mnt_idmap *idmap; in ksmbd_vfs_mkdir() local
219 idmap = mnt_idmap(path.mnt); in ksmbd_vfs_mkdir()
221 err = vfs_mkdir(idmap, d_inode(path.dentry), dentry, mode); in ksmbd_vfs_mkdir()
227 d = lookup_one(idmap, dentry->d_name.name, dentry->d_parent, in ksmbd_vfs_mkdir()
249 static ssize_t ksmbd_vfs_getcasexattr(struct mnt_idmap *idmap, in ksmbd_vfs_getcasexattr() argument
266 value_len = ksmbd_vfs_getxattr(idmap, in ksmbd_vfs_getcasexattr()
413 struct mnt_idmap *idmap = file_mnt_idmap(fp->filp); in ksmbd_vfs_stream_write() local
426 v_len = ksmbd_vfs_getcasexattr(idmap, in ksmbd_vfs_stream_write()
452 err = ksmbd_vfs_setxattr(idmap, in ksmbd_vfs_stream_write()
587 struct mnt_idmap *idmap; in ksmbd_vfs_remove_file() local
602 idmap = mnt_idmap(path.mnt); in ksmbd_vfs_remove_file()
604 err = ksmbd_vfs_lock_parent(idmap, parent, path.dentry); in ksmbd_vfs_remove_file()
618 err = vfs_rmdir(idmap, d_inode(parent), path.dentry); in ksmbd_vfs_remove_file()
623 err = vfs_unlink(idmap, d_inode(parent), path.dentry, NULL); in ksmbd_vfs_remove_file()
776 struct mnt_idmap *idmap; in ksmbd_vfs_fp_rename() local
804 idmap = file_mnt_idmap(fp->filp); in ksmbd_vfs_fp_rename()
805 src_child = lookup_one(idmap, src_dent->d_name.name, src_dent_parent, in ksmbd_vfs_fp_rename()
820 idmap, in ksmbd_vfs_fp_rename()
911 static ssize_t ksmbd_vfs_xattr_len(struct mnt_idmap *idmap, in ksmbd_vfs_xattr_len() argument
914 return vfs_getxattr(idmap, dentry, xattr_name, NULL, 0); in ksmbd_vfs_xattr_len()
926 ssize_t ksmbd_vfs_getxattr(struct mnt_idmap *idmap, in ksmbd_vfs_getxattr() argument
934 xattr_len = ksmbd_vfs_xattr_len(idmap, dentry, xattr_name); in ksmbd_vfs_getxattr()
942 xattr_len = vfs_getxattr(idmap, dentry, xattr_name, in ksmbd_vfs_getxattr()
962 int ksmbd_vfs_setxattr(struct mnt_idmap *idmap, in ksmbd_vfs_setxattr() argument
968 err = vfs_setxattr(idmap, in ksmbd_vfs_setxattr()
1078 int ksmbd_vfs_remove_xattr(struct mnt_idmap *idmap, in ksmbd_vfs_remove_xattr() argument
1081 return vfs_removexattr(idmap, dentry, attr_name); in ksmbd_vfs_remove_xattr()
1084 int ksmbd_vfs_unlink(struct mnt_idmap *idmap, in ksmbd_vfs_unlink() argument
1089 err = ksmbd_vfs_lock_parent(idmap, dir, dentry); in ksmbd_vfs_unlink()
1095 err = vfs_rmdir(idmap, d_inode(dir), dentry); in ksmbd_vfs_unlink()
1097 err = vfs_unlink(idmap, d_inode(dir), dentry, NULL); in ksmbd_vfs_unlink()
1302 int ksmbd_vfs_remove_acl_xattrs(struct mnt_idmap *idmap, in ksmbd_vfs_remove_acl_xattrs() argument
1325 err = vfs_remove_acl(idmap, dentry, name); in ksmbd_vfs_remove_acl_xattrs()
1336 int ksmbd_vfs_remove_sd_xattrs(struct mnt_idmap *idmap, in ksmbd_vfs_remove_sd_xattrs() argument
1356 err = ksmbd_vfs_remove_xattr(idmap, dentry, name); in ksmbd_vfs_remove_sd_xattrs()
1366 static struct xattr_smb_acl *ksmbd_vfs_make_xattr_posix_acl(struct mnt_idmap *idmap, in ksmbd_vfs_make_xattr_posix_acl() argument
1396 xa_entry->uid = posix_acl_uid_translate(idmap, pa_entry); in ksmbd_vfs_make_xattr_posix_acl()
1403 xa_entry->gid = posix_acl_gid_translate(idmap, pa_entry); in ksmbd_vfs_make_xattr_posix_acl()
1432 struct mnt_idmap *idmap, in ksmbd_vfs_set_sd_xattr() argument
1465 smb_acl = ksmbd_vfs_make_xattr_posix_acl(idmap, inode, in ksmbd_vfs_set_sd_xattr()
1468 def_smb_acl = ksmbd_vfs_make_xattr_posix_acl(idmap, inode, in ksmbd_vfs_set_sd_xattr()
1471 rc = ndr_encode_posix_acl(&acl_ndr, idmap, inode, in ksmbd_vfs_set_sd_xattr()
1491 rc = ksmbd_vfs_setxattr(idmap, dentry, in ksmbd_vfs_set_sd_xattr()
1506 struct mnt_idmap *idmap, in ksmbd_vfs_get_sd_xattr() argument
1518 rc = ksmbd_vfs_getxattr(idmap, dentry, XATTR_NAME_SD, &n.data); in ksmbd_vfs_get_sd_xattr()
1527 smb_acl = ksmbd_vfs_make_xattr_posix_acl(idmap, inode, in ksmbd_vfs_get_sd_xattr()
1530 def_smb_acl = ksmbd_vfs_make_xattr_posix_acl(idmap, inode, in ksmbd_vfs_get_sd_xattr()
1533 rc = ndr_encode_posix_acl(&acl_ndr, idmap, inode, smb_acl, in ksmbd_vfs_get_sd_xattr()
1580 int ksmbd_vfs_set_dos_attrib_xattr(struct mnt_idmap *idmap, in ksmbd_vfs_set_dos_attrib_xattr() argument
1591 err = ksmbd_vfs_setxattr(idmap, dentry, XATTR_NAME_DOS_ATTRIBUTE, in ksmbd_vfs_set_dos_attrib_xattr()
1600 int ksmbd_vfs_get_dos_attrib_xattr(struct mnt_idmap *idmap, in ksmbd_vfs_get_dos_attrib_xattr() argument
1607 err = ksmbd_vfs_getxattr(idmap, dentry, XATTR_NAME_DOS_ATTRIBUTE, in ksmbd_vfs_get_dos_attrib_xattr()
1654 struct mnt_idmap *idmap, in ksmbd_vfs_fill_dentry_attrs() argument
1661 generic_fillattr(idmap, d_inode(dentry), ksmbd_kstat->kstat); in ksmbd_vfs_fill_dentry_attrs()
1679 rc = ksmbd_vfs_get_dos_attrib_xattr(idmap, dentry, &da); in ksmbd_vfs_fill_dentry_attrs()
1691 ssize_t ksmbd_vfs_casexattr_len(struct mnt_idmap *idmap, in ksmbd_vfs_casexattr_len() argument
1708 value_len = ksmbd_vfs_xattr_len(idmap, dentry, name); in ksmbd_vfs_casexattr_len()
1827 int ksmbd_vfs_set_init_posix_acl(struct mnt_idmap *idmap, in ksmbd_vfs_set_init_posix_acl() argument
1861 rc = set_posix_acl(idmap, dentry, ACL_TYPE_ACCESS, acls); in ksmbd_vfs_set_init_posix_acl()
1867 rc = set_posix_acl(idmap, dentry, ACL_TYPE_DEFAULT, acls); in ksmbd_vfs_set_init_posix_acl()
1877 int ksmbd_vfs_inherit_posix_acl(struct mnt_idmap *idmap, in ksmbd_vfs_inherit_posix_acl() argument
1900 rc = set_posix_acl(idmap, dentry, ACL_TYPE_ACCESS, acls); in ksmbd_vfs_inherit_posix_acl()
1905 rc = set_posix_acl(idmap, dentry, ACL_TYPE_DEFAULT, in ksmbd_vfs_inherit_posix_acl()