[GIT PULL] vfs fixes

From: Christian Brauner
Date: Sat Jan 13 2024 - 07:32:32 EST


Hey Linus,

/* Summary */
This contains two fixes for the current merge window. The listmount changes
that you requested and a fix for a fsnotify performance regression:

* The proposed listmount changes are currently under my authorship. I wasn't
sure whether you'd wanted to be author as the patch wasn't signed off. If you
do I'm happy if you just apply your own patch.

I've tested the patch with my sh4 cross-build setup. And confirmed that a)
the build failure with sh on current upstream is reproducible and that b) the
proposed patch fixes the build failure. That should only leave the task of
fixing put_user on sh.

* The fsnotify regression was caused by moving one of the hooks out of the
security hook in preparation for other fsnotify work. This meant that
CONFIG_SECURITY would have compiled out the fsnotify hook before but didn't
do so now. That lead to up to 6% performance regression in some io_uring
workloads that compile all fsnotify and security checks out. Fix this by
making sure that the relevant hooks are covered by the already existing
CONFIG_FANOTIFY_ACCESS_PERMISSIONS where the relevant hook belongs.

/* Testing */
clang: Debian clang version 16.0.6 (19)
gcc: (Debian 13.2.0-7) 13.2.0

All patches are based on mainline as of yesterday. No build failures or
warnings were observed. I've successfully tested the changes to listmount with
the selftests we added.

/* Conflicts */
At the time of creating this PR no merge conflicts were reported from
linux-next and no merge conflicts showed up doing a test-merge with
current mainline.

The following changes since commit 70d201a40823acba23899342d62bc2644051ad2e:

Merge tag 'f2fs-for-6.8-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/jaegeuk/f2fs (2024-01-11 20:39:15 -0800)

are available in the Git repository at:

git@xxxxxxxxxxxxxxxxxxx:pub/scm/linux/kernel/git/vfs/vfs tags/vfs-6.8-rc1.fixes

for you to fetch changes up to ba5afb9a84df2e6b26a1b6389b98849cd16ea757:

fs: rework listmount() implementation (2024-01-13 13:06:25 +0100)

Please consider pulling these changes from the signed vfs-6.8-rc1.fixes tag.

Thanks!
Christian

----------------------------------------------------------------
vfs-6.8-rc1.fixes

----------------------------------------------------------------
Amir Goldstein (1):
fsnotify: compile out fsnotify permission hooks if !FANOTIFY_ACCESS_PERMISSIONS

Christian Brauner (1):
fs: rework listmount() implementation

fs/namespace.c | 50 +++++++++++++++++++++++++++---------------------
include/linux/fsnotify.h | 19 ++++++++++++++++++
include/linux/syscalls.h | 2 +-
3 files changed, 48 insertions(+), 23 deletions(-)