summaryrefslogtreecommitdiffstats
path: root/fs/9p
diff options
context:
space:
mode:
authorDominique Martinet <asmadeus@codewreck.org>2024-10-24 01:52:12 +0200
committerDominique Martinet <asmadeus@codewreck.org>2024-10-24 23:26:09 +0200
commit26f8dd2dde6864558782d91542f89483bd59a3c2 (patch)
treec9e3cc9e49a7ae4beff18f0f370cf83dccafedc5 /fs/9p
parentRevert "fs/9p: remove redundant pointer v9ses" (diff)
downloadlinux-26f8dd2dde6864558782d91542f89483bd59a3c2.tar.xz
linux-26f8dd2dde6864558782d91542f89483bd59a3c2.zip
Revert "fs/9p: fix uaf in in v9fs_stat2inode_dotl"
This reverts commit 11763a8598f888dec631a8a903f7ada32181001f. This is a requirement to revert commit 724a08450f74 ("fs/9p: simplify iget to remove unnecessary paths"), see that revert for details. Fixes: 724a08450f74 ("fs/9p: simplify iget to remove unnecessary paths") Reported-by: Will Deacon <will@kernel.org> Link: https://lkml.kernel.org/r/20240923100508.GA32066@willie-the-truck Cc: stable@vger.kernel.org # v6.9+ Message-ID: <20241024-revert_iget-v1-3-4cac63d25f72@codewreck.org> Signed-off-by: Dominique Martinet <asmadeus@codewreck.org>
Diffstat (limited to '')
-rw-r--r--fs/9p/vfs_inode_dotl.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/9p/vfs_inode_dotl.c b/fs/9p/vfs_inode_dotl.c
index 2b313fe7003e..ef9db3e03506 100644
--- a/fs/9p/vfs_inode_dotl.c
+++ b/fs/9p/vfs_inode_dotl.c
@@ -78,11 +78,11 @@ struct inode *v9fs_fid_iget_dotl(struct super_block *sb, struct p9_fid *fid)
retval = v9fs_init_inode(v9ses, inode, &fid->qid,
st->st_mode, new_decode_dev(st->st_rdev));
- v9fs_stat2inode_dotl(st, inode, 0);
kfree(st);
if (retval)
goto error;
+ v9fs_stat2inode_dotl(st, inode, 0);
v9fs_set_netfs_context(inode);
v9fs_cache_inode_get_cookie(inode);
retval = v9fs_get_acl(inode, fid);