[GIT PULL] 9p fixes for 5.19-rc4

From: Dominique Martinet
Date: Wed Jun 22 2022 - 00:44:40 EST



Thanks to Tyler and Christian for the patch/reviews/tests!


The following changes since commit b13baccc3850ca8b8cccbf8ed9912dbaa0fdf7f3:

Linux 5.19-rc2 (2022-06-12 16:11:37 -0700)

are available in the Git repository at:

https://github.com/martinetd/linux tags/9p-for-5.19-rc4

for you to fetch changes up to b0017602fdf6bd3f344dd49eaee8b6ffeed6dbac:

9p: fix EBADF errors in cached mode (2022-06-17 06:03:30 +0900)

----------------------------------------------------------------
9p-for-5.19-rc4: fid refcount and fscache fixes

This contains a couple of fixes:
- fid refcounting was incorrect in some corner cases and would
leak resources, only freed at umount time. The first three commits
fix three such cases
- cache=loose or fscache was broken when trying to write a partial
page to a file with no read permission since the rework a few releases
ago. The fix taken here is just to restore old behavior of using the
special 'writeback_fid' for such reads, which is open as root/RDWR
and such not get complains that we try to read on a WRONLY fid.
Long-term it'd be nice to get rid of this and not issue the read at
all (skip cache?) in such cases, but that direction hasn't progressed

----------------------------------------------------------------
Dominique Martinet (3):
9p: fix fid refcount leak in v9fs_vfs_atomic_open_dotl
9p: fix fid refcount leak in v9fs_vfs_get_link
9p: fix EBADF errors in cached mode

Tyler Hicks (1):
9p: Fix refcounting during full path walks for fid lookups

fs/9p/fid.c | 22 +++++++++-------------
fs/9p/vfs_addr.c | 13 +++++++++++++
fs/9p/vfs_inode.c | 8 ++++----
fs/9p/vfs_inode_dotl.c | 3 +++
4 files changed, 29 insertions(+), 17 deletions(-)

--
Dominique