[PATCH 6.19 667/844] erofs: fix incorrect early exits in volume label handling
From: Sasha Levin
Date: Sat Feb 28 2026 - 14:36:20 EST
From: Gao Xiang <hsiangkao@xxxxxxxxxxxxxxxxx>
[ 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@xxxxxxxxxx
Reviewed-by: Hongbo Li <lihongbo22@xxxxxxxxxx>
Reviewed-by: Chao Yu <chao@xxxxxxxxxx>
Signed-off-by: Gao Xiang <hsiangkao@xxxxxxxxxxxxxxxxx>
Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>
---
fs/erofs/super.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
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 */
--
2.51.0