[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20260109-vfs-fixes-221725170b4e@brauner>
Date: Fri, 9 Jan 2026 11:39:37 +0100
From: Christian Brauner <brauner@...nel.org>
To: Linus Torvalds <torvalds@...ux-foundation.org>
Cc: Christian Brauner <brauner@...nel.org>,
linux-fsdevel@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: [GIT PULL] vfs fixes
Hey Linus,
/* Summary */
This contains a few fixes for this cycle:
- Remove incorrect __user annotation from struct xattr_args::value.
- Documentation fix: Add missing kernel-doc description for the @isnew
parameter in ilookup5_nowait() to silence Sphinx warnings.
- Documentation fix: Fix kernel-doc comment for __start_dirop() - the
function name in the comment was wrong and the @state parameter was
undocumented.
- Replace dynamic folio_batch allocation with stack allocation in
iomap_zero_range(). The dynamic allocation was problematic for ext4-on-iomap
work (didn't handle allocation failure properly) and triggered lockdep
complaints. Uses a flag instead to control batch usage.
- Re-add #ifdef guards around PIDFD_GET_<ns-type>_NAMESPACE ioctls. When a
namespace type is disabled, ns->ops is NULL, causes crashes during inode
eviction when closing the fd. The ifdefs were removed in a recent
simplification but are still needed.
- Fixe a race where a folio could be unlocked before the trailing zeros (for
EOF within the page) were written.
- Split out a dedicated lease_dispose_list() helper since lease code paths
always know they're disposing of leases. Removes unnecessary runtime flag
checks and prepares for upcoming lease_manager enhancements.
- Fix userland delegation requests succeeding despite conflicting opens.
Previously, FL_LAYOUT and FL_DELEG leases bypassed conflict checks (a hack
for nfsd). Adds new ->lm_open_conflict() lease_manager operation so userland
delegations get proper conflict checking while nfsd can continue its own
conflict handling.
- Fix LOOKUP_CACHED path lookups incorrectly falling through to the slow
path. After legitimize_links() calls were conditionally elided, the routine
would always fail with LOOKUP_CACHED regardless of whether there were any
links. Now the flag is checked at the two callsites before calling
legitimize_links().
- Fix bug in media fd allocation in media_request_alloc().
- Fix mismatched API calls in ecryptfs_mknod(): was calling end_removing()
instead of end_creating() after ecryptfs_start_creating_dentry().
- Fix dentry reference count leak in ecryptfs_mkdir(): a dget() of the
lower parent dir was added but never dput()'d, causing BUG during lower
filesystem unmount due to the still-in-use dentry.
/* Conflicts */
Merge conflicts with mainline
=============================
No known conflicts.
Merge conflicts with other trees
================================
No known conflicts.
The following changes since commit 8f0b4cce4481fb22653697cced8d0d04027cb1e8:
Linux 6.19-rc1 (2025-12-14 16:05:07 +1200)
are available in the Git repository at:
git@...olite.kernel.org:pub/scm/linux/kernel/git/vfs/vfs tags/vfs-6.19-rc5.fixes
for you to fetch changes up to 75ddaa4ddc86d31edb15e50152adf4ddee77a6ba:
pidfs: protect PIDFD_GET_* ioctls() via ifdef (2026-01-06 23:08:12 +0100)
Please consider pulling these changes from the signed vfs-6.19-rc5.fixes tag.
Thanks!
Christian
----------------------------------------------------------------
vfs-6.19-rc5.fixes
----------------------------------------------------------------
Al Viro (1):
get rid of bogus __user in struct xattr_args::value
Bagas Sanjaya (2):
fs: Describe @isnew parameter in ilookup5_nowait()
VFS: fix __start_dirop() kernel-doc warnings
Brian Foster (1):
iomap: replace folio_batch allocation with stack allocation
Christian Brauner (3):
Merge patch series "filelock: fix conflict detection with userland file delegations"
Merge patch series "Fix two regressions from start_creating()/start_removing() conversion"
pidfs: protect PIDFD_GET_* ioctls() via ifdef
David Howells (1):
netfs: Fix early read unlock of page with EOF in middle
Jeff Layton (2):
filelock: add lease_dispose_list() helper
filelock: allow lease_managers to dictate what qualifies as a conflict
Mateusz Guzik (1):
fs: make sure to fail try_to_unlazy() and try_to_unlazy() for LOOKUP_CACHED
Mathias Krause (1):
media: mc: fix potential use-after-free in media_request_alloc()
Tyler Hicks (2):
ecryptfs: Fix improper mknod pairing of start_creating()/end_removing()
ecryptfs: Release lower parent dentry after creating dir
Documentation/filesystems/locking.rst | 1 +
drivers/media/mc/mc-request.c | 6 +-
fs/ecryptfs/inode.c | 3 +-
fs/inode.c | 3 +
fs/iomap/buffered-io.c | 50 +++++++++-----
fs/iomap/iter.c | 6 +-
fs/locks.c | 119 +++++++++++++++++-----------------
fs/namei.c | 21 ++++--
fs/netfs/read_collect.c | 2 +-
fs/nfsd/nfs4layouts.c | 23 ++++++-
fs/nfsd/nfs4state.c | 19 ++++++
fs/pidfs.c | 18 +++++
fs/xfs/xfs_iomap.c | 11 ++--
include/linux/filelock.h | 1 +
include/linux/iomap.h | 8 ++-
include/uapi/linux/xattr.h | 2 +-
16 files changed, 196 insertions(+), 97 deletions(-)
Powered by blists - more mailing lists