From: Gao Xiang Date: Mon, 29 Dec 2025 09:29:47 +0000 (+0800) Subject: erofs: fix incorrect early exits in volume label handling X-Git-Tag: v6.18.16~160 X-Git-Url: http://git.ipfire.org/gitweb/?a=commitdiff_plain;h=8d8a878ef60801d867119b3df6a93e2982d62a71;p=thirdparty%2Fkernel%2Fstable.git erofs: fix incorrect early exits in volume label handling [ Upstream commit 3afa4da38802a4cba1c23848a32284e7e57b831b ] Crafted EROFS images containing valid volume labels can trigger incorrect early returns, leading to folio reference leaks. However, this does not cause system crashes or other severe issues. Fixes: 1cf12c717741 ("erofs: Add support for FS_IOC_GETFSLABEL") Cc: stable@kernel.org Reviewed-by: Hongbo Li Reviewed-by: Chao Yu Signed-off-by: Gao Xiang Signed-off-by: Sasha Levin --- diff --git a/fs/erofs/super.c b/fs/erofs/super.c index b54083128e0f4..ee37628ec99fb 100644 --- a/fs/erofs/super.c +++ b/fs/erofs/super.c @@ -347,8 +347,10 @@ static int erofs_read_superblock(struct super_block *sb) if (dsb->volume_name[0]) { sbi->volume_name = kstrndup(dsb->volume_name, sizeof(dsb->volume_name), GFP_KERNEL); - if (!sbi->volume_name) - return -ENOMEM; + if (!sbi->volume_name) { + ret = -ENOMEM; + goto out; + } } /* parse on-disk compression configurations */