[PATCH RFC 0/5] Test readback from fd on hugetlbfs mount

From: Ackerley Tng via B4 Relay

Date: Mon May 18 2026 - 14:23:20 EST


Hi,

I'm thinking of consolidating the tests for libhugetlbfs as kernel
selftests, and to start that off, I picked the simplest test:
tests/readback.c

I refactored hugepage-mmap.c to use the kselftest harness, and then used
FIXTURE_VARIANT from the harness to port in testing readback from an fd on
a hugetlbfs mount.

This output shows that the original test behavior was retained for the
memfd part:

# ./hugepage-mmap
TAP version 13
1..1
# Returned address is 0x7f312f200000
# First hex is 0
# First hex is 3020100
ok 1 Read same data
# Totals: pass:1 fail:0 xfail:0 xpass:0 skip:0 error:0

# ./hugepage-mmap
TAP version 13
1..1
# Starting 1 tests from 1 test cases.
# RUN hugepage_mmap.read_write ...
# hugepage-mmap.c:41:read_write:Returned address is 0x7f19f3a00000
# hugepage-mmap.c:54:read_write:First hex is 0
# hugepage-mmap.c:59:read_write:First hex is 3020100
# OK hugepage_mmap.read_write
ok 1 hugepage_mmap.read_write
# PASSED: 1 / 1 tests passed.
# Totals: pass:1 fail:0 xfail:0 xpass:0 skip:0 error:0

Let me know what you think before I genericize the 2M hugepage size to
other sizes!

Signed-off-by: Ackerley Tng <ackerleytng@xxxxxxxxxx>
---
Ackerley Tng (5):
mm: selftests: Inline check_bytes() function into caller
mm: selftests: Inline {read,write}_bytes functions
mm: selftests: Refactor hugepage-mmap to use kselftest harness
mm: selftests: Update hugepage-mmap to support hugetlbfs mount
mm: selftests: Port readback test logic from libhugetlbfs

tools/testing/selftests/mm/hugepage-mmap.c | 143 +++++++++++++++++++++--------
1 file changed, 105 insertions(+), 38 deletions(-)
---
base-commit: 66edb901bf874d9e0787326ba12d3548b2da8700
change-id: 20260503-port-hugetlb-selftests-9bc63bde5116

Best regards,
--
Ackerley Tng <ackerleytng@xxxxxxxxxx>