Blame SOURCES/0103-merge.patch

Kmods SIG d83023
From 86a44e9067c95083d5dbf5a140e3f4560e5af1ca
Kmods SIG d83023
From: Linus Torvalds <torvalds@linux-foundation.org>
Kmods SIG d83023
Date: Fri, 15 Oct 2021 09:58:11 -0400
Kmods SIG d83023
Subject: [Backport 86a44e9067c9] Merge tag 'ntfs3_for_5.15' of git://github.com/Paragon-Software-Group/linux-ntfs3
Kmods SIG d83023
Kmods SIG d83023
Pull ntfs3 fixes from Konstantin Komarov:
Kmods SIG d83023
 "Use the new api for mounting as requested by Christoph.
Kmods SIG d83023
Kmods SIG d83023
  Also fixed:
Kmods SIG d83023
Kmods SIG d83023
   - some memory leaks and panic
Kmods SIG d83023
Kmods SIG d83023
   - xfstests (tested on x86_64) generic/016 generic/021 generic/022
Kmods SIG d83023
     generic/041 generic/274 generic/423
Kmods SIG d83023
Kmods SIG d83023
   - some typos, wrong returned error codes, dead code, etc"
Kmods SIG d83023
Kmods SIG d83023
* tag 'ntfs3_for_5.15' of git://github.com/Paragon-Software-Group/linux-ntfs3: (70 commits)
Kmods SIG d83023
  src: Check for NULL pointers in ni_try_remove_attr_list
Kmods SIG d83023
  src: Refactor ntfs_read_mft
Kmods SIG d83023
  src: Refactor ni_parse_reparse
Kmods SIG d83023
  src: Refactor ntfs_create_inode
Kmods SIG d83023
  src: Refactor ntfs_readlink_hlp
Kmods SIG d83023
  src: Rework ntfs_utf16_to_nls
Kmods SIG d83023
  src: Fix memory leak if fill_super failed
Kmods SIG d83023
  src: Keep prealloc for all types of files
Kmods SIG d83023
  src: Remove unnecessary functions
Kmods SIG d83023
  src: Forbid FALLOC_FL_PUNCH_HOLE for normal files
Kmods SIG d83023
  src: Refactoring of ntfs_set_ea
Kmods SIG d83023
  src: Remove locked argument in ntfs_set_ea
Kmods SIG d83023
  src: Use available posix_acl_release instead of ntfs_posix_acl_release
Kmods SIG d83023
  src: Check for NULL if ATTR_EA_INFO is incorrect
Kmods SIG d83023
  src: Refactoring of ntfs_init_from_boot
Kmods SIG d83023
  src: Reject mount if boot's cluster size < media sector size
Kmods SIG d83023
  src: Refactoring lock in ntfs_init_acl
Kmods SIG d83023
  src: Change posix_acl_equiv_mode to posix_acl_update_mode
Kmods SIG d83023
  src: Pass flags to ntfs_set_ea in ntfs_set_acl_ex
Kmods SIG d83023
  src: Refactor ntfs_get_acl_ex for better readability
Kmods SIG d83023
  ...
Kmods SIG d83023
Kmods SIG d83023
diff --git a/src/ntfs_fs.h b/src/ntfs_fs.h
Kmods SIG d83023
index e95d93c683ed9852a1b941c3ac8585af0b925f7f..8aaec7e0804efaa4b66727bf0d7360f68abba8c0 100644
Kmods SIG d83023
--- a/src/ntfs_fs.h
Kmods SIG d83023
+++ b/src/ntfs_fs.h
Kmods SIG d83023
@@ -836,7 +836,7 @@ int ntfs_cmp_names_cpu(const struct cpu_str *uni1, const struct le_str *uni2,
Kmods SIG d83023
 
Kmods SIG d83023
 /* globals from xattr.c */
Kmods SIG d83023
 #ifdef CONFIG_NTFS3_FS_POSIX_ACL
Kmods SIG d83023
-struct posix_acl *ntfs_get_acl(struct inode *inode, int type);
Kmods SIG d83023
+struct posix_acl *ntfs_get_acl(struct inode *inode, int type, bool rcu);
Kmods SIG d83023
 int ntfs_set_acl(struct user_namespace *mnt_userns, struct inode *inode,
Kmods SIG d83023
 		 struct posix_acl *acl, int type);
Kmods SIG d83023
 int ntfs_init_acl(struct user_namespace *mnt_userns, struct inode *inode,
Kmods SIG d83023
diff --git a/src/xattr.c b/src/xattr.c
Kmods SIG d83023
index 2143099cffdf3a5377d964bd36463ea8f4af9c87..afd0ddad826ff49f661ce758bcbecec46921fd1c 100644
Kmods SIG d83023
--- a/src/xattr.c
Kmods SIG d83023
+++ b/src/xattr.c
Kmods SIG d83023
@@ -530,8 +530,11 @@ static struct posix_acl *ntfs_get_acl_ex(struct user_namespace *mnt_userns,
Kmods SIG d83023
 /*
Kmods SIG d83023
  * ntfs_get_acl - inode_operations::get_acl
Kmods SIG d83023
  */
Kmods SIG d83023
-struct posix_acl *ntfs_get_acl(struct inode *inode, int type)
Kmods SIG d83023
+struct posix_acl *ntfs_get_acl(struct inode *inode, int type, bool rcu)
Kmods SIG d83023
 {
Kmods SIG d83023
+	if (rcu)
Kmods SIG d83023
+		return ERR_PTR(-ECHILD);
Kmods SIG d83023
+
Kmods SIG d83023
 	/* TODO: init_user_ns? */
Kmods SIG d83023
 	return ntfs_get_acl_ex(&init_user_ns, inode, type, 0);
Kmods SIG d83023
 }