]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
xfs: check the return value of sb_min_blocksize() in xfs_fs_fill_super
authorYongpeng Yang <yangyongpeng@xiaomi.com>
Tue, 4 Nov 2025 12:50:09 +0000 (20:50 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 1 Dec 2025 10:45:36 +0000 (11:45 +0100)
commit 124af0868ec6929ba838fb76d25f00c06ba8fc0d upstream.

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

Cc: stable@vger.kernel.org # v6.15
Fixes: a64e5a596067bd ("bdev: add back PAGE_SIZE block size validation for sb_set_blocksize()")
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Yongpeng Yang <yangyongpeng@xiaomi.com>
Link: https://patch.msgid.link/20251104125009.2111925-5-yangyongpeng.storage@gmail.com
Reviewed-by: Darrick J. Wong <djwong@kernel.org>
Signed-off-by: Christian Brauner <brauner@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
fs/xfs/xfs_super.c

index 9a7dd3a36f74f1102a3aa892f2c701187dd89e15..8fcafe6e5d3a3aa98a20b61b2a2c6ae7460ce92c 100644 (file)
@@ -1710,7 +1710,10 @@ xfs_fs_fill_super(
        if (error)
                return error;
 
-       sb_min_blocksize(sb, BBSIZE);
+       if (!sb_min_blocksize(sb, BBSIZE)) {
+               xfs_err(mp, "unable to set blocksize");
+               return -EINVAL;
+       }
        sb->s_xattr = xfs_xattr_handlers;
        sb->s_export_op = &xfs_export_operations;
 #ifdef CONFIG_XFS_QUOTA