| From: |
| Guan-Chun Wu <409411716-AT-gms.tku.edu.tw> |
| To: |
| Theodore Ts'o <tytso-AT-mit.edu>, Andreas Dilger <adilger.kernel-AT-dilger.ca>, Baokun Li <libaokun-AT-linux.alibaba.com>, Jan Kara <jack-AT-suse.cz>, Ojaswin Mujoo <ojaswin-AT-linux.ibm.com>, Ritesh Harjani <ritesh.list-AT-gmail.com>, Zhang Yi <yi.zhang-AT-huawei.com> |
| Subject: |
| [PATCH v6 0/2] ext4: add hash Kunit tests and optimize str2hashbuf |
| Date: |
| Sun, 31 May 2026 16:00:17 +0800 |
| Message-ID: |
| <20260531080019.3794809-1-409411716@gms.tku.edu.tw> |
| Cc: |
| linux-ext4-AT-vger.kernel.org, linux-kernel-AT-vger.kernel.org, edward062254-AT-gmail.com, visitorckw-AT-gmail.com, david.laight.linux-AT-gmail.com, Guan-Chun Wu <409411716-AT-gms.tku.edu.tw> |
| Archive-link: |
| Article |
This series adds Kunit tests for fs/ext4/hash.c and refactors
the str2hashbuf_{signed,unsigned}() helpers.
Patch 1 adds test coverage for ext4fs_dirhash(), including the main
hash variants and relevant edge cases.
Patch 2 simplifies the str2hashbuf helper implementation by processing
input in 4-byte chunks and removing function-pointer dispatch. This also
reduces overhead and shows roughly 2x improvement on longer inputs in
local testing.
Thanks,
Guan-Chun Wu
Link: https://lore.kernel.org/lkml/20260530155817.2311587-1-409...
---
v5 -> v6 :
- Fix a modpost undefined symbol error for ext4_cryptops
when building ext4-test.ko.
v4 -> v5 :
- Fix NULL pointer dereference and out-of-bounds read in SipHash tests.
- Use IS_ERR() instead of NULL check for utf8_load() error handling.
- Fix unicode_map memory leaks on assertion failures via kunit_add_action_or_reset().
- Avoid a UBSAN shift warning in str2hashbuf by casting signed char values
to __u32 before left-shifting them.
v3 -> v4 :
- Fix a modpost undefined symbol error for ext4fs_dirhash when building
ext4-test.ko.
v2 -> v3 :
- Added Kunit tests for fs/ext4/hash.c.
v1 -> v2:
- Drop redundant (int) casts.
- Replace indirect calls with simple conditionals.
- Use get_unaligned_be32() instead of manual byte extraction.
---
Guan-Chun Wu (2):
ext4: add Kunit coverage for directory hash computation
ext4: improve str2hashbuf by processing 4-byte chunks and removing
function pointers
fs/ext4/Makefile | 2 +-
fs/ext4/hash-test.c | 567 ++++++++++++++++++++++++++++++++++++++++++++
fs/ext4/hash.c | 68 ++++--
3 files changed, 614 insertions(+), 23 deletions(-)
create mode 100644 fs/ext4/hash-test.c
--
2.34.1