Unverified Commit 11763a85 authored by Lizhi Xu's avatar Lizhi Xu Committed by Eric Van Hensbergen
Browse files

fs/9p: fix uaf in in v9fs_stat2inode_dotl



The incorrect logical order of accessing the st object code in v9fs_fid_iget_dotl
is causing this uaf.

Fixes: 724a0845 ("fs/9p: simplify iget to remove unnecessary paths")
Reported-and-tested-by: default avatar <syzbot+7a3d75905ea1a830dbe5@syzkaller.appspotmail.com>
Signed-off-by: default avatarLizhi Xu <lizhi.xu@windriver.com>
Tested-by: default avatarBreno Leitao <leitao@debian.org>
Reviewed-by: default avatarDominique Martinet <asmadeus@codewreck.org>
Signed-off-by: default avatarEric Van Hensbergen <ericvh@kernel.org>
parent 4cece764
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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);