[GIT PULL] vfs fixes

From: Christian Brauner
Date: Thu Mar 20 2025 - 16:42:05 EST


/* Summary */

This contains a final set of fixes for this cycle:

VFS:

- Ensure that the stable offset api doesn't return duplicate directory
entries when userspace has to perform the getdents call multiple times
on large directories.

afs:

- Prevent invalid pointer dereference during get_link RCU pathwalk.

fuse:

- Fix deadlock caused by uninitialized rings when using io_uring with fuse.

- Handle race condition when using io_uring with fuse to prevent NULL dereference.

libnetfs:

- Ensure that invalidate_cache is only called if implemented.

- Fix collection of results during pause when collection is offloaded.

- Ensure rolling_buffer_load_from_ra() doesn't clear mark bits.

- Make netfs_unbuffered_read() return ssize_t rather than int.

/* Testing */

gcc version (Debian 14.2.0-8) 14.2.0
Debian clang version 19.1.4 (1)

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 4701f33a10702d5fc577c32434eb62adde0a1ae1:

Linux 6.14-rc7 (2025-03-16 12:55:17 -1000)

are available in the Git repository at:

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

for you to fetch changes up to f70681e9e6066ab7b102e6b46a336a8ed67812ae:

libfs: Fix duplicate directory entry in offset_dir_lookup (2025-03-20 14:28:18 +0100)

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

Thanks!
Christian

----------------------------------------------------------------
vfs-6.14-final.fixes

----------------------------------------------------------------
Christian Brauner (1):
Merge patch series "netfs: Miscellaneous fixes"

David Howells (4):
afs: Fix afs_atcell_get_link() to check if ws_cell is unset first
netfs: Fix collection of results during pause when collection offloaded
netfs: Fix rolling_buffer_load_from_ra() to not clear mark bits
netfs: Fix netfs_unbuffered_read() to return ssize_t rather than int

Joanne Koong (1):
fuse: fix uring race condition for null dereference of fc

Luis Henriques (1):
fuse: fix possible deadlock if rings are never initialized

Max Kellermann (1):
netfs: Call `invalidate_cache` only if implemented

Yongjian Sun (1):
libfs: Fix duplicate directory entry in offset_dir_lookup

fs/afs/dynroot.c | 6 +++---
fs/fuse/dev.c | 2 +-
fs/fuse/dev_uring.c | 4 ++--
fs/libfs.c | 2 +-
fs/netfs/direct_read.c | 6 +++---
fs/netfs/read_collect.c | 18 ++++++++++--------
fs/netfs/rolling_buffer.c | 4 ----
fs/netfs/write_collect.c | 3 ++-
8 files changed, 22 insertions(+), 23 deletions(-)