Blame SOURCES/0085-fs-ntfs3-Change-posix_acl_equiv_mode-to-posix_acl_up.patch

Kmods SIG 63c143
From ba77237ef880320105e681b93d596b2fb13860f9 Mon Sep 17 00:00:00 2001
Kmods SIG 63c143
From: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
Kmods SIG 63c143
Date: Wed, 22 Sep 2021 18:46:14 +0300
Kmods SIG 63c143
Subject: [Backport ba77237ef880] src: Change posix_acl_equiv_mode to
Kmods SIG 63c143
 posix_acl_update_mode
Kmods SIG 63c143
Kmods SIG 63c143
Right now ntfs3 uses posix_acl_equiv_mode instead of
Kmods SIG 63c143
posix_acl_update_mode like all other fs.
Kmods SIG 63c143
Kmods SIG 63c143
Reviewed-by: Kari Argillander <kari.argillander@gmail.com>
Kmods SIG 63c143
Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
Kmods SIG 63c143
---
Kmods SIG 63c143
 src/xattr.c | 15 ++++-----------
Kmods SIG 63c143
 1 file changed, 4 insertions(+), 11 deletions(-)
Kmods SIG 63c143
Kmods SIG 63c143
diff --git a/src/xattr.c b/src/xattr.c
Kmods SIG 63c143
index 70f2f9eb6b1eb3e7bebc3703762abfb7e42d7be1..59ec5e61a2390511a633c39b4e8ae3b01a2b9840 100644
Kmods SIG 63c143
--- a/src/xattr.c
Kmods SIG 63c143
+++ b/src/xattr.c
Kmods SIG 63c143
@@ -559,22 +559,15 @@ static noinline int ntfs_set_acl_ex(struct user_namespace *mnt_userns,
Kmods SIG 63c143
 		if (acl) {
Kmods SIG 63c143
 			umode_t mode = inode->i_mode;
Kmods SIG 63c143
 
Kmods SIG 63c143
-			err = posix_acl_equiv_mode(acl, &mode);
Kmods SIG 63c143
-			if (err < 0)
Kmods SIG 63c143
-				return err;
Kmods SIG 63c143
+			err = posix_acl_update_mode(mnt_userns, inode, &mode,
Kmods SIG 63c143
+						    &acl;;
Kmods SIG 63c143
+			if (err)
Kmods SIG 63c143
+				goto out;
Kmods SIG 63c143
 
Kmods SIG 63c143
 			if (inode->i_mode != mode) {
Kmods SIG 63c143
 				inode->i_mode = mode;
Kmods SIG 63c143
 				mark_inode_dirty(inode);
Kmods SIG 63c143
 			}
Kmods SIG 63c143
-
Kmods SIG 63c143
-			if (!err) {
Kmods SIG 63c143
-				/*
Kmods SIG 63c143
-				 * ACL can be exactly represented in the
Kmods SIG 63c143
-				 * traditional file mode permission bits.
Kmods SIG 63c143
-				 */
Kmods SIG 63c143
-				acl = NULL;
Kmods SIG 63c143
-			}
Kmods SIG 63c143
 		}
Kmods SIG 63c143
 		name = XATTR_NAME_POSIX_ACL_ACCESS;
Kmods SIG 63c143
 		name_len = sizeof(XATTR_NAME_POSIX_ACL_ACCESS) - 1;
Kmods SIG 63c143
-- 
Kmods SIG 63c143
2.31.1
Kmods SIG 63c143