Messages in this thread |  | | From | Tyler Hicks <> | Subject | [PATCH v2 0/5] 9p: Fix refcounting and improve readability in lookup | Date | Thu, 26 May 2022 18:59:58 -0500 |
| |
v2: - Simplified the first patch, by removing code cleanups, to reduce churn and minimize regression potential in stable trees + The resulting changes are *identical* to the v1 submission when patches 1, 2, and 3 are applied - Added patches 4 and 5 which are additional, minor code cleanups v1: https://lore.kernel.org/lkml/20220525182530.266068-1-tyhicks@linux.microsoft.com/
The primary motivation for this series is patch #1 which fixes a refcounting issue in the path walking code of v9fs_fid_lookup_with_uid(). Userspace can cause fids, which are created for use during lookup, to not be clunked and make the mount unusable.
The remaining patches are code cleanups to improve readability. They're not critical.
I tested v1 and v2 by running fstests against 9p inside of QEMU to ensure that the results were the same as without my changes applied. I also backported patch #1 of v2 to linux-5.15.y (v5.15.32) and ensured that the 'fid not clunked' issue did not occur when running against the Windows Subsystem for Linux (WSL) 9p server.
Tyler
Tyler Hicks (5): 9p: Fix refcounting during full path walks for fid lookups 9p: Track the root fid with its own variable during lookups 9p: Make the path walk logic more clear about when cloning is required 9p: Remove unnecessary variable for old fids while walking from d_parent 9p: Fix minor typo in code comment
fs/9p/fid.c | 50 ++++++++++++++++++++++---------------------------- 1 file changed, 22 insertions(+), 28 deletions(-)
-- 2.25.1
|  |