--- a/file.c +++ b/file.c @@ -1026,10 +1026,10 @@ size_t cp, tail = PAGE_SIZE - off; page = pages[ip]; - cp = copy_page_from_iter_atomic(page, off, - min(tail, bytes), from); + cp = iov_iter_copy_from_user_atomic(page, from, off, + min(tail, bytes)); flush_dcache_page(page); - + iov_iter_advance(from, cp); copied += cp; bytes -= cp; if (!bytes || !cp) --- a/ntfs_fs.h +++ b/ntfs_fs.h @@ -809,7 +809,7 @@ /* globals from xattr.c */ #ifdef CONFIG_NTFS3_FS_POSIX_ACL -struct posix_acl *ntfs_get_acl(struct inode *inode, int type, bool rcu); +struct posix_acl *ntfs_get_acl(struct inode *inode, int type); 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, --- a/xattr.c +++ b/xattr.c @@ -535,11 +535,8 @@ /* * ntfs_get_acl - inode_operations::get_acl */ -struct posix_acl *ntfs_get_acl(struct inode *inode, int type, bool rcu) +struct posix_acl *ntfs_get_acl(struct inode *inode, int type) { - if (rcu) - return ERR_PTR(-ECHILD); - /* TODO: init_user_ns? */ return ntfs_get_acl_ex(&init_user_ns, inode, type, 0); } @@ -638,7 +635,7 @@ return -EOPNOTSUPP; } - acl = ntfs_get_acl(inode, type, false); + acl = ntfs_get_acl(inode, type); if (IS_ERR(acl)) return PTR_ERR(acl);