]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
Revert "fs/9p: fix uaf in in v9fs_stat2inode_dotl"
authorDominique Martinet <asmadeus@codewreck.org>
Wed, 23 Oct 2024 23:52:12 +0000 (08:52 +0900)
committerDominique Martinet <asmadeus@codewreck.org>
Thu, 24 Oct 2024 21:26:09 +0000 (06:26 +0900)
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>
fs/9p/vfs_inode_dotl.c

index 2b313fe7003e4806d3e14e0dea0aa164fe1d8e11..ef9db3e035062b189be8e408c15372e0dd11b3c6 100644 (file)
@@ -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);