[PATCH v4 0/6] initramfs: test and improve cpio hex header validation

David Disseldorp
2026-03-29T10:53:28Z

Changes v4:
- rework initramfs_test changes to use an inject_ox parameter instead of
having tests pass through an unvalidated format string.
+ drop Andy's reviewed-by from 1/6 and 2/6 to account for changed test
+ 4/6 minor changes for test context and comment
- add review tags for 3/6, 5/6 and 6/6 following list feedback

----------------------------------------------------------------
v3: 20260323150054.3587083-1-andriy.shevchenko@linux.intel.com

The series that introduced simple_strntoul() had passed into kernel
without proper review and hence reinvented a wheel that's not needed.
Here is the refactoring to show that. It can go via PRINTK or VFS
tree.

I have tested this on x86, but I believe the same result will be
on big-endian CPUs (I deduced that from how strtox() works).

I also run KUnit tests.

Changelog v3:
- rebased on top of latest kernel
- squashed patches proposed by David

v2: 20260121172749.32322-1-ddiss@suse.de
v1: 20260119204151.1447503-1-andriy.shevchenko@linux.intel.com

----------------------------------------------------------------
Andy Shevchenko (4):
initramfs: Sort headers alphabetically
initramfs: Refactor to use hex2bin() instead of custom approach
vsprintf: Revert "add simple_strntoul"
kstrtox: Drop extern keyword in the simple_strtox() declarations

David Disseldorp (2):
initramfs_test: add fill_cpio() inject_ox parameter
initramfs_test: test header fields with 0x hex prefix

include/linux/kstrtox.h | 9 +++--
init/initramfs.c | 68 ++++++++++++++++++++----------------
init/initramfs_test.c | 76 ++++++++++++++++++++++++++++++++++-------
lib/vsprintf.c | 7 ----
4 files changed, 105 insertions(+), 55 deletions(-)