Commit c65ae8d6 authored by Al Viro's avatar Al Viro Committed by Zizhi Wo
Browse files

erofs: fix handling kern_mount() failure

mainline inclusion
from mainline-v6.8-rc6
commit 2c88c16dc20e88dd54d2f6f4d01ae1dce6cc9654
category: bugfix
bugzilla: https://gitee.com/openeuler/kernel/issues/I971F0

Reference: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=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: default avatarAl Viro <viro@zeniv.linux.org.uk>
Signed-off-by: default avatarZizhi Wo <wozizhi@huawei.com>
parent 97ba28f6
Loading
Loading
Loading
Loading
+4 −3
Original line number Diff line number Diff line
@@ -381,11 +381,12 @@ static int erofs_fscache_init_domain(struct super_block *sb)
		goto out;

	if (!erofs_pseudo_mnt) {
		erofs_pseudo_mnt = kern_mount(&erofs_fs_type);
		if (IS_ERR(erofs_pseudo_mnt)) {
			err = PTR_ERR(erofs_pseudo_mnt);
		struct vfsmount *mnt = kern_mount(&erofs_fs_type);
		if (IS_ERR(mnt)) {
			err = PTR_ERR(mnt);
			goto out;
		}
		erofs_pseudo_mnt = mnt;
	}

	domain->volume = sbi->volume;