9p fixes for 7.4-rc2
Dominique Martinet
maintainerHi Linus,
Sorry for being late to the merge window, I still don't have much time for this and the flu hit at a bad time.
At least the LLM fixes sort of slowed down recently? Or maybe it's just the time of the cycle and/or I got used to it, time will tell...
The following changes since commit c60ae98c5aa64021751b38ab1313b19d620bf640:
9p: Fix v9fs_issue_write() to update i_size and remote_i_size (2026-09-12 07:49:22 +0000)
are available in the Git repository at:
https://github.com/martinetd/linux tags/9p-for-7.4-rc2
for you to fetch changes up to 35ecd40c0d7e4f772d00dfec9f7077315ba5ca82:
9p: optimize p9_fcall struct (2026-10-29 06:05:56 +0000)
----------------------------------------------------------------
This is mostly a huge wave of LLM-driven fixes
A few exceptions:
- a new vsock transport was added, since it's a variant of the existing fd/tcp transport there is little harm in taking it in
- there's an incomplete fix for when file actual size doesn't match the size attribute (e.g. exports of sysfs), the fix addresses when st_size > actual size with cache=none but just about everything else is still broken (st_size=0 with actual data regardless of cache, or with data cache st_size > actual is still wrong and so are symlinks with 0 size)... Maybe at some point I'll find time to understand how netfs works and address these :|
- some fixes for the usbg transport by its author, thank you!
----------------------------------------------------------------
Ankit Thakur (4):
9p: fix header guard comment in acl.h
9p: fix typos and wrong parameter docs in vfs_inode.c 9p: remove duplicated assignment in v9fs_fill_super() 9p: fix typo in file header comments
Barret Rhoden (1):
9p: treat read return values of 0 as EOF
Chengfeng Ye (1):
net/9p/usbg: clear stale request context after abort
Deepanshu Kartikey (1):
9p: don't WARN_ONCE on racy symlink fid lookup failure
Dmitry Antipov (1):
9p: simplify v9fs_cache_session_get_cookie()
Dominique Martinet (1):
9p: optimize p9_fcall struct
Haobin Wu (3):
9p: skip intermediate directory entry name copy in p9dirent_read() 9p: skip directory entries with names longer than NAME_MAX 9p: skip over-long directory entry names for legacy 9p2000 too
Hemanth Selam (1):
net/9p: fix typos in comments
Hui Peng (1):
9p: reject RERROR/RLERROR with zero errcode
Hyungjung Joo (1):
net/9p/usbg: clear stale client pointer on close
Kees Cook (1):
9p: Add const and unsigned to wnames allocation type
Matus Skvarla (1):
net/9p: add vsock transport
Michael Bommarito (1):
9p/trans_virtio: reject mount tags longer than NAME_MAX at probe
Michael Grzeschik (6):
net/9p/usbg: also disable endpoints on p9_usbg_close net/9p/usbg: set client to Disconnected on usb9pfs_disable net/9p/usbg: always reset completion when disconnecting net/9p/usbg: call disable_usb9pfs() from usb9pfs_disable() net/9p/usbg: fix out_req buffer leak in disable_usb9pfs net/9p/usbg: remove bogus context initialization in alloc_requests
Omokefe Emmanuel Onanaroghene (1):
9p: fix kernel-doc warning for enum p9_session_flags
Rosen Penev (1):
9p/xen: Use array for data rings
Stefano Garzarella (1):
9p: fix privport option setting wrong RDMA field
Yehyeong Lee (1):
9p/xen: validate the response size from the backend
Yifei Gao (1):
9p/xen: fix refcount leak in p9_xen_response() on wrong tag
Yizhou Zhao (6):
9p: use fc->net_ns for network namespace in RDMA and socket transports net/9p/usbg: fix descriptor cleanup use-after-free net/9p/usbg: fix prefix matching in device lookup net/9p/usbg: Fix use-after-free on usb9pfs_clear_tx 9p/xen: drain response work after unbinding IRQ net/9p/usbg: Fix use-after-free in disable_usb9pfs()
Yuanfu Xie (3):
9p: don't decrement a server-owned zero nlink
9p: fall back to the normal open path for non-regular files 9p: do not store the create fid on special files
Zhao Zhang (1):
9p: fix caches_show() out-of-bounds write
Documentation/filesystems/9p.rst | 12 ++++++++- fs/9p/acl.h | 2 +- fs/9p/cache.c | 7 ++---- fs/9p/fid.c | 2 +- fs/9p/v9fs.c | 18 +++++-------- fs/9p/v9fs.h | 26 +++++++++++++------ fs/9p/vfs_addr.c | 10 ++++++-- fs/9p/vfs_dentry.c | 2 +- fs/9p/vfs_dir.c | 32 +++++++++++++++++------ fs/9p/vfs_file.c | 2 +- fs/9p/vfs_inode.c | 26 ++++++++++++++++--- fs/9p/vfs_inode_dotl.c | 36 ++++++++++++++++++++------ fs/9p/vfs_super.c | 2 +- include/net/9p/9p.h | 4 +-- include/net/9p/client.h | 14 +++++++---- net/9p/Kconfig | 10 ++++++++ net/9p/client.c | 3 +++ net/9p/protocol.c | 12 ++------- net/9p/trans_fd.c | 109 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------ net/9p/trans_rdma.c | 2 +- net/9p/trans_usbg.c | 101 ++++++++++++++++++++++++++++++++++++++++++++++++++++--------------------- net/9p/trans_virtio.c | 5 ++++ net/9p/trans_xen.c | 79 +++++++++++++++++++++++++++++---------------------------- 23 files changed, 372 insertions(+), 144 deletions(-)
Signature · 1 line
Dominique Martinet | Asmadeus
The pull request you sent on Tue, 3 Nov 2026 21:13:52 +0900:
The pull request you sent on Tue, 3 Nov 2026 21:13:52 +0900:
Quoted 1 line
https://github.com/martinetd/linux tags/9p-for-7.4-rc2
has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/7d1471e50943196f909674d2d22eb4196c7df48e
Thank you!
Signature · 2 lines
Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/prtracker.html