diff options
Diffstat (limited to 'fs/ntfs3')
-rw-r--r-- | fs/ntfs3/ntfs_fs.h | 2 | ||||
-rw-r--r-- | fs/ntfs3/xattr.c | 7 |
2 files changed, 6 insertions, 3 deletions
diff --git a/fs/ntfs3/ntfs_fs.h b/fs/ntfs3/ntfs_fs.h index 97e682ebcfb9..dc71c59fd445 100644 --- a/fs/ntfs3/ntfs_fs.h +++ b/fs/ntfs3/ntfs_fs.h @@ -809,7 +809,7 @@ int ntfs_cmp_names_cpu(const struct cpu_str *uni1, const struct le_str *uni2, /* globals from xattr.c */ #ifdef CONFIG_NTFS3_FS_POSIX_ACL -struct posix_acl *ntfs_get_acl(struct inode *inode, int type); +struct posix_acl *ntfs_get_acl(struct inode *inode, int type, bool rcu); int ntfs_set_acl(struct user_namespace *mnt_userns, struct inode *inode, struct posix_acl *acl, int type); int ntfs_init_acl(struct user_namespace *mnt_userns, struct inode *inode, diff --git a/fs/ntfs3/xattr.c b/fs/ntfs3/xattr.c index b15d532e4a17..7282d85c4ece 100644 --- a/fs/ntfs3/xattr.c +++ b/fs/ntfs3/xattr.c @@ -535,8 +535,11 @@ static struct posix_acl *ntfs_get_acl_ex(struct user_namespace *mnt_userns, /* * ntfs_get_acl - inode_operations::get_acl */ -struct posix_acl *ntfs_get_acl(struct inode *inode, int type) +struct posix_acl *ntfs_get_acl(struct inode *inode, int type, bool rcu) { + if (rcu) + return ERR_PTR(-ECHILD); + /* TODO: init_user_ns? */ return ntfs_get_acl_ex(&init_user_ns, inode, type, 0); } @@ -635,7 +638,7 @@ static int ntfs_xattr_get_acl(struct user_namespace *mnt_userns, return -EOPNOTSUPP; } - acl = ntfs_get_acl(inode, type); + acl = ntfs_get_acl(inode, type, false); if (IS_ERR(acl)) return PTR_ERR(acl); |