summarylogtreecommitdiffstats
path: root/kernel-5.14-backport.patch
blob: c357004e0680de8b372e7c9572dfdc9c3bc47a12 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
--- 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);