[lvc-project] [PATCH 2/3] ext4: filesystems without casefold feature cannot be mounted with siphash
Vasiliy Kovalev
kovalev at altlinux.org
Mon Nov 18 13:20:49 MSK 2024
From: Lizhi Xu <lizhi.xu at windriver.com>
[ Upstream commit 985b67cd86392310d9e9326de941c22fc9340eec ]
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 at syzkaller.appspotmail.com
Signed-off-by: Lizhi Xu <lizhi.xu at windriver.com>
Link: https://patch.msgid.link/20240605012335.44086-1-lizhi.xu@windriver.com
Signed-off-by: Theodore Ts'o <tytso at mit.edu>
Signed-off-by: Vasiliy Kovalev <kovalev at altlinux.org>
---
fs/ext4/super.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/fs/ext4/super.c b/fs/ext4/super.c
index cf2c8cf507780..68070b1859803 100644
--- a/fs/ext4/super.c
+++ b/fs/ext4/super.c
@@ -3559,6 +3559,14 @@ int ext4_feature_set_ok(struct super_block *sb, int readonly)
}
#endif
+ 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;
--
2.33.8
More information about the lvc-project
mailing list