Skip to contentSkip to conversation

9p fixes for 7.4-rc2

GIT PULL Merged Dominique Martinet 2 participants 2 messages Nov 3 9P file system

lore
Share & tools
lore

Dominique Martinet

author maintainer
#0 lore raw

Hi 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