From: Lizhi Xu lizhi.xu@windriver.com
commit 985b67cd86392310d9e9326de941c22fc9340eec upstream.
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 Signed-off-by: Bruno VERNAY bruno.vernay@se.com Signed-off-by: Victor Giraud vgiraud.opensource@witekio.com --- fs/ext4/super.c | 8 ++++++++ 1 file changed, 8 insertions(+)
diff --git a/fs/ext4/super.c b/fs/ext4/super.c index 53f1deb049ec..ca1d9a36aba2 100644 --- a/fs/ext4/super.c +++ b/fs/ext4/super.c @@ -3547,6 +3547,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;
[ Sasha's backport helper bot ]
Hi,
The upstream commit SHA1 provided is correct: 985b67cd86392310d9e9326de941c22fc9340eec
WARNING: Author mismatch between patch and upstream commit: Backport author: vgiraud.opensource@witekio.com Commit author: Lizhi Xulizhi.xu@windriver.com
Status in newer kernel trees: 6.13.y | Present (exact SHA1) 6.12.y | Present (exact SHA1) 6.6.y | Not found 6.1.y | Not found
Note: The patch differs from the upstream commit: --- 1: 985b67cd86392 < -: ------------- ext4: filesystems without casefold feature cannot be mounted with siphash -: ------------- > 1: ade03c938cb51 ext4: filesystems without casefold feature cannot be mounted with siphash ---
Results of testing on various branches:
| Branch | Patch Apply | Build Test | |---------------------------|-------------|------------| | stable/linux-6.1.y | Success | Failed |
Build Errors: Build error for stable/linux-6.1.y: ssh: connect to host 192.168.1.58 port 22: No route to host
A backport requires the fix commit a2187431c395 ("ext4: fix error message when rejecting the default hash"). and a prerequisite commit db9345d9e6f0 ("ext4: factor out ext4_hash_info_init()")
See the patch series: https://lore.kernel.org/all/20241118102050.16077-1-kovalev@altlinux.org/t/#u
-- Thanks, Vasiliy
linux-stable-mirror@lists.linaro.org