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 <[email protected]> --- 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 <[email protected]>

