[GIT PULL] vfs fixes

From: Christian Brauner
Date: Fri Feb 07 2025 - 05:52:25 EST


Hey Linus,

/* Summary */

This contains various fixes for this cycle:

- Fix fsnotify FMODE_NONOTIFY* handling.
This also disables fsnotify on all pseudo files by default apart from
very selection exceptions. This carries a regression risk so we need
to watch out and adapt accordingly. However, it is overall a
significant improvement over the current status quo where every rando
file can get fsnotify enabled.

- Cleanup and simplify lockref_init() after recent lockref changes.

- Fix vboxfs build with gcc-15.

- Add an assert into inode_set_cached_link() to catch corrupt links.

- Allow users to also use an empty string check to detect whether a
given mount option string was empty or not.

- Fix how security options were appended to statmount()'s ->mnt_opt field.

- Fix statmount() selftests to always check the returned mask.

- Fix uninitialized value in vfs_statx_path().

- Fix pidfs_ioctl() sanity checks to guard against ioctl() overloading
and preserve extensibility.

/* Testing */

gcc version 14.2.0 (Debian 14.2.0-6)
Debian clang version 16.0.6 (27+b1)

No build failures or warnings were observed.

/* Conflicts */

Merge conflicts with mainline
=============================

No known conflicts.

Merge conflicts with other trees
================================

No known conflicts.

The following changes since commit 2014c95afecee3e76ca4a56956a936e23283f05b:

Linux 6.14-rc1 (2025-02-02 15:39:26 -0800)

are available in the Git repository at:

git@xxxxxxxxxxxxxxxxxxx:pub/scm/linux/kernel/git/vfs/vfs tags/vfs-6.14-rc2.fixes

for you to fetch changes up to 37d11cfc63604b3886308e2111d845d148ced8bc:

vfs: sanity check the length passed to inode_set_cached_link() (2025-02-07 10:29:59 +0100)

Please consider pulling these changes from the signed vfs-6.14-rc2.fixes tag.

Thanks!
Christian

----------------------------------------------------------------
vfs-6.14-rc2.fixes

----------------------------------------------------------------
Amir Goldstein (3):
fsnotify: use accessor to set FMODE_NONOTIFY_*
fsnotify: disable notification by default for all pseudo files
fsnotify: disable pre-content and permission events by default

Andreas Gruenbacher (3):
gfs2: use lockref_init for gl_lockref
gfs2: switch to lockref_init(..., 1)
lockref: remove count argument of lockref_init

Brahmajit Das (1):
vboxsf: fix building with GCC 15

Christian Brauner (3):
Merge patch series "further lockref cleanups"
Merge patch series "Fix for huge faults regression"
pidfs: improve ioctl handling

Mateusz Guzik (1):
vfs: sanity check the length passed to inode_set_cached_link()

Miklos Szeredi (3):
statmount: let unset strings be empty
fs: fix adding security options to statmount.mnt_opt
selftests: always check mask returned by statmount(2)

Su Hui (1):
fs/stat.c: avoid harmless garbage value problem in vfs_statx_path()

drivers/tty/pty.c | 2 +-
fs/dcache.c | 2 +-
fs/erofs/zdata.c | 2 +-
fs/file_table.c | 16 +++++++
fs/gfs2/glock.c | 2 +-
fs/gfs2/main.c | 1 -
fs/gfs2/quota.c | 4 +-
fs/namespace.c | 54 ++++++++++++----------
fs/notify/fsnotify.c | 18 +++++---
fs/open.c | 11 +++--
fs/pidfs.c | 12 ++++-
fs/pipe.c | 6 +++
fs/stat.c | 4 +-
fs/vboxsf/super.c | 3 +-
include/linux/fs.h | 20 +++++++-
include/linux/fsnotify.h | 4 +-
include/linux/lockref.h | 7 +--
net/socket.c | 5 ++
.../filesystems/statmount/statmount_test.c | 22 ++++++++-
19 files changed, 143 insertions(+), 52 deletions(-)