Lines Matching refs:idmap
131 void ksmbd_vfs_query_maximal_access(struct mnt_idmap *idmap, in ksmbd_vfs_query_maximal_access() argument
136 if (!inode_permission(idmap, d_inode(dentry), MAY_OPEN | MAY_WRITE)) in ksmbd_vfs_query_maximal_access()
142 if (!inode_permission(idmap, d_inode(dentry), MAY_OPEN | MAY_READ)) in ksmbd_vfs_query_maximal_access()
145 if (!inode_permission(idmap, d_inode(dentry), MAY_OPEN | MAY_EXEC)) in ksmbd_vfs_query_maximal_access()
148 if (!inode_permission(idmap, d_inode(dentry->d_parent), MAY_EXEC | MAY_WRITE)) in ksmbd_vfs_query_maximal_access()
206 struct mnt_idmap *idmap; in ksmbd_vfs_mkdir() local
226 idmap = mnt_idmap(path.mnt); in ksmbd_vfs_mkdir()
228 err = vfs_mkdir(idmap, d_inode(path.dentry), dentry, mode); in ksmbd_vfs_mkdir()
232 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
274 value_len = ksmbd_vfs_getxattr(idmap, in ksmbd_vfs_getcasexattr()
421 struct mnt_idmap *idmap = file_mnt_idmap(fp->filp); in ksmbd_vfs_stream_write() local
435 v_len = ksmbd_vfs_getcasexattr(idmap, in ksmbd_vfs_stream_write()
461 err = ksmbd_vfs_setxattr(idmap, in ksmbd_vfs_stream_write()
596 struct mnt_idmap *idmap; in ksmbd_vfs_remove_file() local
612 idmap = mnt_idmap(path->mnt); in ksmbd_vfs_remove_file()
614 err = vfs_rmdir(idmap, d_inode(parent), path->dentry); in ksmbd_vfs_remove_file()
618 err = vfs_unlink(idmap, d_inode(parent), path->dentry, NULL); in ksmbd_vfs_remove_file()
879 static ssize_t ksmbd_vfs_xattr_len(struct mnt_idmap *idmap, in ksmbd_vfs_xattr_len() argument
882 return vfs_getxattr(idmap, dentry, xattr_name, NULL, 0); in ksmbd_vfs_xattr_len()
894 ssize_t ksmbd_vfs_getxattr(struct mnt_idmap *idmap, in ksmbd_vfs_getxattr() argument
902 xattr_len = ksmbd_vfs_xattr_len(idmap, dentry, xattr_name); in ksmbd_vfs_getxattr()
910 xattr_len = vfs_getxattr(idmap, dentry, xattr_name, in ksmbd_vfs_getxattr()
930 int ksmbd_vfs_setxattr(struct mnt_idmap *idmap, in ksmbd_vfs_setxattr() argument
940 err = vfs_setxattr(idmap, in ksmbd_vfs_setxattr()
1051 int ksmbd_vfs_remove_xattr(struct mnt_idmap *idmap, in ksmbd_vfs_remove_xattr() argument
1060 err = vfs_removexattr(idmap, path->dentry, attr_name); in ksmbd_vfs_remove_xattr()
1070 struct mnt_idmap *idmap = file_mnt_idmap(filp); in ksmbd_vfs_unlink() local
1083 err = vfs_rmdir(idmap, d_inode(dir), dentry); in ksmbd_vfs_unlink()
1085 err = vfs_unlink(idmap, d_inode(dir), dentry, NULL); in ksmbd_vfs_unlink()
1297 int ksmbd_vfs_remove_acl_xattrs(struct mnt_idmap *idmap, in ksmbd_vfs_remove_acl_xattrs() argument
1324 err = vfs_remove_acl(idmap, path->dentry, name); in ksmbd_vfs_remove_acl_xattrs()
1337 int ksmbd_vfs_remove_sd_xattrs(struct mnt_idmap *idmap, const struct path *path) in ksmbd_vfs_remove_sd_xattrs() argument
1356 err = ksmbd_vfs_remove_xattr(idmap, path, 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
1466 smb_acl = ksmbd_vfs_make_xattr_posix_acl(idmap, inode, in ksmbd_vfs_set_sd_xattr()
1469 def_smb_acl = ksmbd_vfs_make_xattr_posix_acl(idmap, inode, in ksmbd_vfs_set_sd_xattr()
1472 rc = ndr_encode_posix_acl(&acl_ndr, idmap, inode, in ksmbd_vfs_set_sd_xattr()
1492 rc = ksmbd_vfs_setxattr(idmap, path, in ksmbd_vfs_set_sd_xattr()
1507 struct mnt_idmap *idmap, in ksmbd_vfs_get_sd_xattr() argument
1519 rc = ksmbd_vfs_getxattr(idmap, dentry, XATTR_NAME_SD, &n.data); in ksmbd_vfs_get_sd_xattr()
1528 smb_acl = ksmbd_vfs_make_xattr_posix_acl(idmap, inode, in ksmbd_vfs_get_sd_xattr()
1531 def_smb_acl = ksmbd_vfs_make_xattr_posix_acl(idmap, inode, in ksmbd_vfs_get_sd_xattr()
1534 rc = ndr_encode_posix_acl(&acl_ndr, idmap, inode, smb_acl, in ksmbd_vfs_get_sd_xattr()
1581 int ksmbd_vfs_set_dos_attrib_xattr(struct mnt_idmap *idmap, in ksmbd_vfs_set_dos_attrib_xattr() argument
1592 err = ksmbd_vfs_setxattr(idmap, path, XATTR_NAME_DOS_ATTRIBUTE, in ksmbd_vfs_set_dos_attrib_xattr()
1601 int ksmbd_vfs_get_dos_attrib_xattr(struct mnt_idmap *idmap, in ksmbd_vfs_get_dos_attrib_xattr() argument
1608 err = ksmbd_vfs_getxattr(idmap, dentry, XATTR_NAME_DOS_ATTRIBUTE, in ksmbd_vfs_get_dos_attrib_xattr()
1655 struct mnt_idmap *idmap, in ksmbd_vfs_fill_dentry_attrs() argument
1662 generic_fillattr(idmap, STATX_BASIC_STATS, d_inode(dentry), in ksmbd_vfs_fill_dentry_attrs()
1681 rc = ksmbd_vfs_get_dos_attrib_xattr(idmap, dentry, &da); in ksmbd_vfs_fill_dentry_attrs()
1693 ssize_t ksmbd_vfs_casexattr_len(struct mnt_idmap *idmap, in ksmbd_vfs_casexattr_len() argument
1710 value_len = ksmbd_vfs_xattr_len(idmap, dentry, name); in ksmbd_vfs_casexattr_len()
1829 int ksmbd_vfs_set_init_posix_acl(struct mnt_idmap *idmap, in ksmbd_vfs_set_init_posix_acl() argument
1869 rc = set_posix_acl(idmap, dentry, ACL_TYPE_ACCESS, acls); in ksmbd_vfs_set_init_posix_acl()
1875 rc = set_posix_acl(idmap, dentry, ACL_TYPE_DEFAULT, acls); in ksmbd_vfs_set_init_posix_acl()
1888 int ksmbd_vfs_inherit_posix_acl(struct mnt_idmap *idmap, in ksmbd_vfs_inherit_posix_acl() argument
1916 rc = set_posix_acl(idmap, dentry, ACL_TYPE_ACCESS, acls); in ksmbd_vfs_inherit_posix_acl()
1921 rc = set_posix_acl(idmap, dentry, ACL_TYPE_DEFAULT, in ksmbd_vfs_inherit_posix_acl()