When mounting the ext4 filesystem, if the hash version and casefolded are not
consistent, exit the mounting.

Reported-by: [email protected]
Signed-off-by: Lizhi Xu <[email protected]>
---
 fs/ext4/super.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/fs/ext4/super.c b/fs/ext4/super.c
index c682fb927b64..c0036e3922c2 100644
--- a/fs/ext4/super.c
+++ b/fs/ext4/super.c
@@ -5262,6 +5262,9 @@ static int __ext4_fill_super(struct fs_context *fc, 
struct super_block *sb)
                goto failed_mount;
 
        ext4_hash_info_init(sb);
+       if (es->s_def_hash_version == DX_HASH_SIPHASH && 
+           !ext4_has_feature_casefold(sb))
+               goto failed_mount;
 
        err = ext4_handle_clustersize(sb);
        if (err)
-- 
2.43.0


Reply via email to