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

Reply via email to