erofs: fix handling kern_mount() failure

[ Upstream commit 2c88c16dc20e88dd54d2f6f4d01ae1dce6cc9654 ]

if you have a variable that holds NULL or  a pointer to live struct mount,
do not shove ERR_PTR() into it - not if you later treat "not NULL" as
"holds a pointer to object".

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Stable-dep-of: 0f28be64d132 ("erofs: fix lockdep false positives on initializing erofs_pseudo_mnt")
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
Al Viro 2024-02-12 22:44:11 -05:00 committed by Sasha Levin
parent 613139a030
commit 51b2711919
1 changed files with 4 additions and 3 deletions

View File

@ -381,11 +381,12 @@ static int erofs_fscache_init_domain(struct super_block *sb)
goto out; goto out;
if (!erofs_pseudo_mnt) { if (!erofs_pseudo_mnt) {
erofs_pseudo_mnt = kern_mount(&erofs_fs_type); struct vfsmount *mnt = kern_mount(&erofs_fs_type);
if (IS_ERR(erofs_pseudo_mnt)) { if (IS_ERR(mnt)) {
err = PTR_ERR(erofs_pseudo_mnt); err = PTR_ERR(mnt);
goto out; goto out;
} }
erofs_pseudo_mnt = mnt;
} }
domain->volume = sbi->volume; domain->volume = sbi->volume;