Messages in this thread | | | From | Jianyong Wu <> | Subject | [PATCH RFC v2 0/4] 9p: fix open-unlink-f*syscall bug. | Date | Wed, 23 Sep 2020 22:11:42 +0800 |
| |
open-unlink-f*syscall bug is well-known in 9p. We try to fix the bug in this patch set. I take Eric's and Greg's patches which constiute the 1/4 - 3/4 of this patch set as the main frame of the solution. In patch 4/4, I fix the fid race issue exists in Greg's patch.
change log: v1 to v2: (1) in patch 4/4: do fid refcounter down in the clunk helper. (2) int patch 4/4: remove the enum value denoting from which of the inode or dentry fids are allcated.
Eric Van Hensbergen (1): fs/9p: fix create-unlink-getattr idiom
Greg Kurz (1): fs/9p: search open fids first
Jianyong Wu (2): fs/9p: track open fids 9p: fix race issue in fid contention.
fs/9p/fid.c | 69 ++++++++++++++++++++++++++++++++++++++--- fs/9p/fid.h | 11 ++++++- fs/9p/vfs_dentry.c | 2 ++ fs/9p/vfs_dir.c | 6 +++- fs/9p/vfs_file.c | 1 + fs/9p/vfs_inode.c | 47 ++++++++++++++++++++++------ fs/9p/vfs_inode_dotl.c | 35 +++++++++++++++++---- fs/9p/vfs_super.c | 1 + fs/9p/xattr.c | 16 ++++++++-- include/net/9p/client.h | 7 +++++ net/9p/client.c | 14 ++++++--- 11 files changed, 179 insertions(+), 30 deletions(-)
-- 2.17.1
| |