On 4/16/26 05:39, Anthony Yznaga wrote: > The test was not being run by the selftest framework so it was never > noticed that it would fail with an assertion failure on configs without > support for MAP_DROPPABLE. Update the test so that it is skipped instead > when MAP_DROPPABLE is not supported, and add it to the mmap category so > that the test is run by the framework. > > Signed-off-by: Anthony Yznaga <[email protected]> > --- > tools/testing/selftests/mm/droppable.c | 9 ++++++++- > tools/testing/selftests/mm/run_vmtests.sh | 1 + > 2 files changed, 9 insertions(+), 1 deletion(-) > > diff --git a/tools/testing/selftests/mm/droppable.c > b/tools/testing/selftests/mm/droppable.c > index 44940f75c461..30c8be37fcb9 100644 > --- a/tools/testing/selftests/mm/droppable.c > +++ b/tools/testing/selftests/mm/droppable.c > @@ -26,7 +26,14 @@ int main(int argc, char *argv[]) > ksft_set_plan(1); > > alloc = mmap(0, alloc_size, PROT_READ | PROT_WRITE, MAP_ANONYMOUS | > MAP_DROPPABLE, -1, 0); > - assert(alloc != MAP_FAILED); > + if (alloc == MAP_FAILED) { > + if ((errno == EOPNOTSUPP) || (errno == EINVAL)) { > + ksft_test_result_skip("MAP_DROPPABLE not supported\n"); > + exit(KSFT_SKIP); > + } > + ksft_test_result_fail("mmap error: %s\n", strerror(errno)); > + exit(KSFT_FAIL); > + } > memset(alloc, 'A', alloc_size); > for (size_t i = 0; i < alloc_size; i += page_size) > assert(*(uint8_t *)(alloc + i)); > diff --git a/tools/testing/selftests/mm/run_vmtests.sh > b/tools/testing/selftests/mm/run_vmtests.sh > index d8468451b3a3..e1e355d50e65 100755 > --- a/tools/testing/selftests/mm/run_vmtests.sh > +++ b/tools/testing/selftests/mm/run_vmtests.sh > @@ -382,6 +382,7 @@ else > fi > > CATEGORY="mmap" run_test ./map_populate > +CATEGORY="mmap" run_test ./droppable > > CATEGORY="mlock" run_test ./mlock-random-test >
On my older kernel: $ ./droppable TAP version 13 1..1 ok 1 # SKIP MAP_DROPPABLE not supported Acked-by: David Hildenbrand (Arm) <[email protected]> -- Cheers, David

