1

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 <lizhi.xu@windriver.com>
Link: https://patch.msgid.link/20240605012335.44086-1-lizhi.xu@windriver.com
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
This commit is contained in:
Lizhi Xu 2024-06-05 09:23:35 +08:00 committed by Theodore Ts'o
parent a3c3eecc7c
commit 985b67cd86

View File

@ -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;