From: Lizhi Xu Date: Wed, 5 Jun 2024 01:23:35 +0000 (+0800) Subject: ext4: filesystems without casefold feature cannot be mounted with siphash X-Git-Tag: v6.12-rc1~117^2~91 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=985b67cd8639;p=thirdparty%2Flinux.git ext4: filesystems without casefold feature cannot be mounted with siphash When mounting the ext4 filesystem, if the default hash version is set to DX_HASH_SIPHASH but the casefold feature is not set, exit the mounting. Reported-by: syzbot+340581ba9dceb7e06fb3@syzkaller.appspotmail.com Signed-off-by: Lizhi Xu Link: https://patch.msgid.link/20240605012335.44086-1-lizhi.xu@windriver.com Signed-off-by: Theodore Ts'o --- diff --git a/fs/ext4/super.c b/fs/ext4/super.c index e72145c4ae5a0..25cd0d662e31b 100644 --- a/fs/ext4/super.c +++ b/fs/ext4/super.c @@ -3582,6 +3582,13 @@ int ext4_feature_set_ok(struct super_block *sb, int readonly) "mounted without CONFIG_UNICODE"); return 0; } + if (EXT4_SB(sb)->s_es->s_def_hash_version == DX_HASH_SIPHASH && + !ext4_has_feature_casefold(sb)) { + ext4_msg(sb, KERN_ERR, + "Filesystem without casefold feature cannot be " + "mounted with siphash"); + return 0; + } if (readonly) return 1;