]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
ext4: reject mount if bigalloc with s_first_data_block != 0
authorHelen Koike <koike@igalia.com>
Tue, 17 Mar 2026 14:23:10 +0000 (11:23 -0300)
committerTheodore Ts'o <tytso@mit.edu>
Sat, 28 Mar 2026 03:36:11 +0000 (23:36 -0400)
bigalloc with s_first_data_block != 0 is not supported, reject mounting
it.

Signed-off-by: Helen Koike <koike@igalia.com>
Suggested-by: Theodore Ts'o <tytso@mit.edu>
Reported-by: syzbot+b73703b873a33d8eb8f6@syzkaller.appspotmail.com
Closes: https://syzkaller.appspot.com/bug?extid=b73703b873a33d8eb8f6
Link: https://patch.msgid.link/20260317142325.135074-1-koike@igalia.com
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
Cc: stable@kernel.org
fs/ext4/super.c

index 43f680c750ae6b2cacb35bcaad262ba234676ef4..152c58fe8e0165beb010ff1d39922559f86055be 100644 (file)
@@ -3633,6 +3633,13 @@ int ext4_feature_set_ok(struct super_block *sb, int readonly)
                         "extents feature\n");
                return 0;
        }
+       if (ext4_has_feature_bigalloc(sb) &&
+           le32_to_cpu(EXT4_SB(sb)->s_es->s_first_data_block)) {
+               ext4_msg(sb, KERN_WARNING,
+                        "bad geometry: bigalloc file system with non-zero "
+                        "first_data_block\n");
+               return 0;
+       }
 
 #if !IS_ENABLED(CONFIG_QUOTA) || !IS_ENABLED(CONFIG_QFMT_V2)
        if (!readonly && (ext4_has_feature_quota(sb) ||