Loading fs/ntfs3/xattr.c +0 −94 Original line number Diff line number Diff line Loading @@ -616,67 +616,6 @@ int ntfs_set_acl(struct user_namespace *mnt_userns, struct inode *inode, return ntfs_set_acl_ex(mnt_userns, inode, acl, type); } static int ntfs_xattr_get_acl(struct user_namespace *mnt_userns, struct inode *inode, int type, void *buffer, size_t size) { struct posix_acl *acl; int err; if (!(inode->i_sb->s_flags & SB_POSIXACL)) { ntfs_inode_warn(inode, "add mount option \"acl\" to use acl"); return -EOPNOTSUPP; } acl = ntfs_get_acl(inode, type); if (IS_ERR(acl)) return PTR_ERR(acl); if (!acl) return -ENODATA; err = posix_acl_to_xattr(mnt_userns, acl, buffer, size); posix_acl_release(acl); return err; } static int ntfs_xattr_set_acl(struct user_namespace *mnt_userns, struct inode *inode, int type, const void *value, size_t size) { struct posix_acl *acl; int err; if (!(inode->i_sb->s_flags & SB_POSIXACL)) { ntfs_inode_warn(inode, "add mount option \"acl\" to use acl"); return -EOPNOTSUPP; } if (!inode_owner_or_capable(mnt_userns, inode)) return -EPERM; if (!value) { acl = NULL; } else { acl = posix_acl_from_xattr(mnt_userns, value, size); if (IS_ERR(acl)) return PTR_ERR(acl); if (acl) { err = posix_acl_valid(mnt_userns, acl); if (err) goto release_and_out; } } err = ntfs_set_acl(mnt_userns, inode, acl, type); release_and_out: posix_acl_release(acl); return err; } /* * ntfs_init_acl - Initialize the ACLs of a new inode. * Loading Loading @@ -843,23 +782,6 @@ static int ntfs_getxattr(const struct xattr_handler *handler, struct dentry *de, goto out; } #ifdef CONFIG_NTFS3_FS_POSIX_ACL if ((name_len == sizeof(XATTR_NAME_POSIX_ACL_ACCESS) - 1 && !memcmp(name, XATTR_NAME_POSIX_ACL_ACCESS, sizeof(XATTR_NAME_POSIX_ACL_ACCESS))) || (name_len == sizeof(XATTR_NAME_POSIX_ACL_DEFAULT) - 1 && !memcmp(name, XATTR_NAME_POSIX_ACL_DEFAULT, sizeof(XATTR_NAME_POSIX_ACL_DEFAULT)))) { /* TODO: init_user_ns? */ err = ntfs_xattr_get_acl( &init_user_ns, inode, name_len == sizeof(XATTR_NAME_POSIX_ACL_ACCESS) - 1 ? ACL_TYPE_ACCESS : ACL_TYPE_DEFAULT, buffer, size); goto out; } #endif /* Deal with NTFS extended attribute. */ err = ntfs_get_ea(inode, name, name_len, buffer, size, NULL); Loading Loading @@ -972,22 +894,6 @@ static noinline int ntfs_setxattr(const struct xattr_handler *handler, goto out; } #ifdef CONFIG_NTFS3_FS_POSIX_ACL if ((name_len == sizeof(XATTR_NAME_POSIX_ACL_ACCESS) - 1 && !memcmp(name, XATTR_NAME_POSIX_ACL_ACCESS, sizeof(XATTR_NAME_POSIX_ACL_ACCESS))) || (name_len == sizeof(XATTR_NAME_POSIX_ACL_DEFAULT) - 1 && !memcmp(name, XATTR_NAME_POSIX_ACL_DEFAULT, sizeof(XATTR_NAME_POSIX_ACL_DEFAULT)))) { err = ntfs_xattr_set_acl( mnt_userns, inode, name_len == sizeof(XATTR_NAME_POSIX_ACL_ACCESS) - 1 ? ACL_TYPE_ACCESS : ACL_TYPE_DEFAULT, value, size); goto out; } #endif /* Deal with NTFS extended attribute. */ err = ntfs_set_ea(inode, name, name_len, value, size, flags); Loading Loading
fs/ntfs3/xattr.c +0 −94 Original line number Diff line number Diff line Loading @@ -616,67 +616,6 @@ int ntfs_set_acl(struct user_namespace *mnt_userns, struct inode *inode, return ntfs_set_acl_ex(mnt_userns, inode, acl, type); } static int ntfs_xattr_get_acl(struct user_namespace *mnt_userns, struct inode *inode, int type, void *buffer, size_t size) { struct posix_acl *acl; int err; if (!(inode->i_sb->s_flags & SB_POSIXACL)) { ntfs_inode_warn(inode, "add mount option \"acl\" to use acl"); return -EOPNOTSUPP; } acl = ntfs_get_acl(inode, type); if (IS_ERR(acl)) return PTR_ERR(acl); if (!acl) return -ENODATA; err = posix_acl_to_xattr(mnt_userns, acl, buffer, size); posix_acl_release(acl); return err; } static int ntfs_xattr_set_acl(struct user_namespace *mnt_userns, struct inode *inode, int type, const void *value, size_t size) { struct posix_acl *acl; int err; if (!(inode->i_sb->s_flags & SB_POSIXACL)) { ntfs_inode_warn(inode, "add mount option \"acl\" to use acl"); return -EOPNOTSUPP; } if (!inode_owner_or_capable(mnt_userns, inode)) return -EPERM; if (!value) { acl = NULL; } else { acl = posix_acl_from_xattr(mnt_userns, value, size); if (IS_ERR(acl)) return PTR_ERR(acl); if (acl) { err = posix_acl_valid(mnt_userns, acl); if (err) goto release_and_out; } } err = ntfs_set_acl(mnt_userns, inode, acl, type); release_and_out: posix_acl_release(acl); return err; } /* * ntfs_init_acl - Initialize the ACLs of a new inode. * Loading Loading @@ -843,23 +782,6 @@ static int ntfs_getxattr(const struct xattr_handler *handler, struct dentry *de, goto out; } #ifdef CONFIG_NTFS3_FS_POSIX_ACL if ((name_len == sizeof(XATTR_NAME_POSIX_ACL_ACCESS) - 1 && !memcmp(name, XATTR_NAME_POSIX_ACL_ACCESS, sizeof(XATTR_NAME_POSIX_ACL_ACCESS))) || (name_len == sizeof(XATTR_NAME_POSIX_ACL_DEFAULT) - 1 && !memcmp(name, XATTR_NAME_POSIX_ACL_DEFAULT, sizeof(XATTR_NAME_POSIX_ACL_DEFAULT)))) { /* TODO: init_user_ns? */ err = ntfs_xattr_get_acl( &init_user_ns, inode, name_len == sizeof(XATTR_NAME_POSIX_ACL_ACCESS) - 1 ? ACL_TYPE_ACCESS : ACL_TYPE_DEFAULT, buffer, size); goto out; } #endif /* Deal with NTFS extended attribute. */ err = ntfs_get_ea(inode, name, name_len, buffer, size, NULL); Loading Loading @@ -972,22 +894,6 @@ static noinline int ntfs_setxattr(const struct xattr_handler *handler, goto out; } #ifdef CONFIG_NTFS3_FS_POSIX_ACL if ((name_len == sizeof(XATTR_NAME_POSIX_ACL_ACCESS) - 1 && !memcmp(name, XATTR_NAME_POSIX_ACL_ACCESS, sizeof(XATTR_NAME_POSIX_ACL_ACCESS))) || (name_len == sizeof(XATTR_NAME_POSIX_ACL_DEFAULT) - 1 && !memcmp(name, XATTR_NAME_POSIX_ACL_DEFAULT, sizeof(XATTR_NAME_POSIX_ACL_DEFAULT)))) { err = ntfs_xattr_set_acl( mnt_userns, inode, name_len == sizeof(XATTR_NAME_POSIX_ACL_ACCESS) - 1 ? ACL_TYPE_ACCESS : ACL_TYPE_DEFAULT, value, size); goto out; } #endif /* Deal with NTFS extended attribute. */ err = ntfs_set_ea(inode, name, name_len, value, size, flags); Loading