Due to the current file system not supporting the casefolded feature, only i_crypt_info was initialized when creating encrypted information, without actually setting the sighash. Therefore, when creating an inode, if the system does not support the casefolded feature, encrypted information will not be created. Reported-by: syzbot+340581ba9dceb7e06fb3@xxxxxxxxxxxxxxxxxxxxxxxxx Signed-off-by: Lizhi Xu <lizhi.xu@xxxxxxxxxxxxx> --- fs/ext4/ialloc.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/fs/ext4/ialloc.c b/fs/ext4/ialloc.c index e9bbb1da2d0a..47b75589fdf4 100644 --- a/fs/ext4/ialloc.c +++ b/fs/ext4/ialloc.c @@ -983,7 +983,8 @@ struct inode *__ext4_new_inode(struct mnt_idmap *idmap, ei->i_projid = make_kprojid(&init_user_ns, EXT4_DEF_PROJID); if (!(i_flags & EXT4_EA_INODE_FL)) { - err = fscrypt_prepare_new_inode(dir, inode, &encrypt); + if (ext4_has_feature_casefold(inode->i_sb)) + err = fscrypt_prepare_new_inode(dir, inode, &encrypt); if (err) goto out; } -- 2.43.0