exfat: check return value of sb_min_blocksize in exfat_read_boot_sector

JIRA: https://issues.redhat.com/browse/RHEL-154215

commit f2c1f631630e01821fe4c3fdf6077bc7a8284f82
Author: Yongpeng Yang <yangyongpeng@xiaomi.com>
Date:   Tue Nov 4 20:50:07 2025 +0800

    exfat: check return value of sb_min_blocksize in exfat_read_boot_sector

    sb_min_blocksize() may return 0. Check its return value to avoid
    accessing the filesystem super block when sb->s_blocksize is 0.

    Cc: stable@vger.kernel.org # v6.15
    Fixes: 719c1e1829 ("exfat: add super block operations")
    Reviewed-by: Christoph Hellwig <hch@lst.de>
    Signed-off-by: Yongpeng Yang <yangyongpeng@xiaomi.com>
    Link: https://patch.msgid.link/20251104125009.2111925-3-yangyongpeng.storage@gmail.com
    Signed-off-by: Christian Brauner <brauner@kernel.org>

Signed-off-by: Ming Lei <ming.lei@redhat.com>
This commit is contained in:
Ming Lei
2026-03-19 15:58:05 +08:00
parent 9d275facd5
commit f549bfe884
+4 -1
View File
@@ -416,7 +416,10 @@ static int exfat_read_boot_sector(struct super_block *sb)
struct exfat_sb_info *sbi = EXFAT_SB(sb);
/* set block size to read super block */
sb_min_blocksize(sb, 512);
if (!sb_min_blocksize(sb, 512)) {
exfat_err(sb, "unable to set blocksize");
return -EINVAL;
}
/* read boot sector */
sbi->boot_bh = sb_bread(sb, 0);