From: Lizhi Xu lizhi.xu@windriver.com
commit 985b67cd86392310d9e9326de941c22fc9340eec upstream.
This patch is a backport.
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+9177d065333561cd6fd0@syzkaller.appspotmail.com Bug: https://syzkaller.appspot.com/bug?extid=9177d065333561cd6fd0 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: Miguel Garcia Roman miguelgarciaroman8@gmail.com (cherry picked from commit 985b67cd86392310d9e9326de941c22fc9340eec) --- fs/ext4/super.c | 7 +++++++ 1 file changed, 7 insertions(+)
diff --git a/fs/ext4/super.c b/fs/ext4/super.c index 53f1deb049ec..598712a72300 100644 --- a/fs/ext4/super.c +++ b/fs/ext4/super.c @@ -3546,6 +3545,12 @@ int ext4_feature_set_ok(struct super_block *sb, int readonly) return 0; } #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,
✅ All tests passed successfully. No issues detected. No action required from the submitter.
The upstream commit SHA1 provided is correct: 985b67cd86392310d9e9326de941c22fc9340eec
WARNING: Author mismatch between patch and upstream commit: Backport author: miguelgarciaroman8@gmail.com Commit author: Lizhi Xulizhi.xu@windriver.com
Status in newer kernel trees: 6.14.y | Present (exact SHA1) 6.13.y | Present (exact SHA1) 6.12.y | Present (exact SHA1) 6.6.y | Not found
Note: The patch differs from the upstream commit: --- 1: 985b67cd86392 ! 1: 18c15fd3e33df ext4: filesystems without casefold feature cannot be mounted with siphash @@ Metadata ## Commit message ## ext4: filesystems without casefold feature cannot be mounted with siphash
+ commit 985b67cd86392310d9e9326de941c22fc9340eec upstream. + + This patch is a backport. + 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 + Reported-by: syzbot+9177d065333561cd6fd0@syzkaller.appspotmail.com + Bug: https://syzkaller.appspot.com/bug?extid=9177d065333561cd6fd0 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: Miguel Garcia Roman miguelgarciaroman8@gmail.com + (cherry picked from commit 985b67cd86392310d9e9326de941c22fc9340eec)
## fs/ext4/super.c ## @@ fs/ext4/super.c: int ext4_feature_set_ok(struct super_block *sb, int readonly) - "mounted without CONFIG_UNICODE"); return 0; } + #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"); ++ "Filesystem without casefold feature cannot be mounted with siphash"); + return 0; + }
---
Results of testing on various branches:
| Branch | Patch Apply | Build Test | |---------------------------|-------------|------------| | stable/linux-6.1.y | Success | Success |
On Sat, Apr 19, 2025 at 10:40:59AM +0200, Miguel García wrote:
From: Lizhi Xu lizhi.xu@windriver.com
commit 985b67cd86392310d9e9326de941c22fc9340eec upstream.
This patch is a backport.
Why?
What about 6.6.y?
And what has been fixed since the last times this has been submitted for inclusion and rejected?
Please don't ignore past efforts :(
thanks,
greg k-h
linux-stable-mirror@lists.linaro.org