diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2024-02-13 06:44:11 +0300 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2024-02-20 10:09:02 +0300 |
commit | 2c88c16dc20e88dd54d2f6f4d01ae1dce6cc9654 (patch) | |
tree | be221a16f9ef29e552d71b6c1fbd4eec33e9424c | |
parent | 7e4a205fe56b9092f0143dad6aa5fee081139b09 (diff) | |
download | linux-2c88c16dc20e88dd54d2f6f4d01ae1dce6cc9654.tar.xz |
erofs: fix handling kern_mount() failure
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>
-rw-r--r-- | fs/erofs/fscache.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/fs/erofs/fscache.c b/fs/erofs/fscache.c index bc12030393b2..29ad5b1cc7fd 100644 --- a/fs/erofs/fscache.c +++ b/fs/erofs/fscache.c @@ -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; |