|
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 |
}
|