On Mon, Jul 20, 2026 at 02:34:39PM +0800, longlong yan wrote:
> Replace the direct comparison with (void *)-1 with the standard
> MAP_FAILED macro when checking mmap()
>
> Signed-off-by: longlong yan <[email protected]>

Great thanks!

If you're looking at this in general, it'd be lovely to convert it to use the
kselftest_harness.h and get rid of these horrible FAIL_TEST_IF_FALSE()
etc. predicates :)

Reviewed-by: Lorenzo Stoakes (ARM) <[email protected]>

> ---
>  tools/testing/selftests/mm/mseal_test.c | 106 ++++++++++++------------
>  1 file changed, 53 insertions(+), 53 deletions(-)
>
> diff --git a/tools/testing/selftests/mm/mseal_test.c 
> b/tools/testing/selftests/mm/mseal_test.c
> index faad4833366a..93c2e13094d4 100644
> --- a/tools/testing/selftests/mm/mseal_test.c
> +++ b/tools/testing/selftests/mm/mseal_test.c
> @@ -234,7 +234,7 @@ static void test_seal_addseal(void)
>       unsigned long size = 4 * page_size;
>
>       setup_single_address(size, &ptr);
> -     FAIL_TEST_IF_FALSE(ptr != (void *)-1);
> +     FAIL_TEST_IF_FALSE(ptr != MAP_FAILED);
>
>       ret = sys_mseal(ptr, size);
>       FAIL_TEST_IF_FALSE(!ret);
> @@ -250,7 +250,7 @@ static void test_seal_unmapped_start(void)
>       unsigned long size = 4 * page_size;
>
>       setup_single_address(size, &ptr);
> -     FAIL_TEST_IF_FALSE(ptr != (void *)-1);
> +     FAIL_TEST_IF_FALSE(ptr != MAP_FAILED);
>
>       /* munmap 2 pages from ptr. */
>       ret = sys_munmap(ptr, 2 * page_size);
> @@ -278,7 +278,7 @@ static void test_seal_unmapped_middle(void)
>       unsigned long size = 4 * page_size;
>
>       setup_single_address(size, &ptr);
> -     FAIL_TEST_IF_FALSE(ptr != (void *)-1);
> +     FAIL_TEST_IF_FALSE(ptr != MAP_FAILED);
>
>       /* munmap 2 pages from ptr + page. */
>       ret = sys_munmap(ptr + page_size, 2 * page_size);
> @@ -310,7 +310,7 @@ static void test_seal_unmapped_end(void)
>       unsigned long size = 4 * page_size;
>
>       setup_single_address(size, &ptr);
> -     FAIL_TEST_IF_FALSE(ptr != (void *)-1);
> +     FAIL_TEST_IF_FALSE(ptr != MAP_FAILED);
>
>       /* unmap last 2 pages. */
>       ret = sys_munmap(ptr + 2 * page_size, 2 * page_size);
> @@ -339,7 +339,7 @@ static void test_seal_multiple_vmas(void)
>       unsigned long size = 4 * page_size;
>
>       setup_single_address(size, &ptr);
> -     FAIL_TEST_IF_FALSE(ptr != (void *)-1);
> +     FAIL_TEST_IF_FALSE(ptr != MAP_FAILED);
>
>       /* use mprotect to split the vma into 3. */
>       ret = sys_mprotect(ptr + page_size, 2 * page_size,
> @@ -370,7 +370,7 @@ static void test_seal_split_start(void)
>       unsigned long size = 4 * page_size;
>
>       setup_single_address(size, &ptr);
> -     FAIL_TEST_IF_FALSE(ptr != (void *)-1);
> +     FAIL_TEST_IF_FALSE(ptr != MAP_FAILED);
>
>       /* use mprotect to split at middle */
>       ret = sys_mprotect(ptr, 2 * page_size, PROT_READ | PROT_WRITE);
> @@ -395,7 +395,7 @@ static void test_seal_split_end(void)
>       unsigned long size = 4 * page_size;
>
>       setup_single_address(size, &ptr);
> -     FAIL_TEST_IF_FALSE(ptr != (void *)-1);
> +     FAIL_TEST_IF_FALSE(ptr != MAP_FAILED);
>
>       /* use mprotect to split at middle */
>       ret = sys_mprotect(ptr, 2 * page_size, PROT_READ | PROT_WRITE);
> @@ -420,7 +420,7 @@ static void test_seal_invalid_input(void)
>       int ret;
>
>       setup_single_address(8 * page_size, &ptr);
> -     FAIL_TEST_IF_FALSE(ptr != (void *)-1);
> +     FAIL_TEST_IF_FALSE(ptr != MAP_FAILED);
>       ret = clean_single_address(ptr + 4 * page_size, 4 * page_size);
>       FAIL_TEST_IF_FALSE(!ret);
>
> @@ -455,7 +455,7 @@ static void test_seal_zero_length(void)
>       int ret;
>
>       setup_single_address(size, &ptr);
> -     FAIL_TEST_IF_FALSE(ptr != (void *)-1);
> +     FAIL_TEST_IF_FALSE(ptr != MAP_FAILED);
>
>       ret = sys_mprotect(ptr, 0, PROT_READ | PROT_WRITE);
>       FAIL_TEST_IF_FALSE(!ret);
> @@ -505,7 +505,7 @@ static void test_seal_twice(void)
>       unsigned long size = 4 * page_size;
>
>       setup_single_address(size, &ptr);
> -     FAIL_TEST_IF_FALSE(ptr != (void *)-1);
> +     FAIL_TEST_IF_FALSE(ptr != MAP_FAILED);
>
>       ret = sys_mseal(ptr, size);
>       FAIL_TEST_IF_FALSE(!ret);
> @@ -525,7 +525,7 @@ static void test_seal_mprotect(bool seal)
>       int ret;
>
>       setup_single_address(size, &ptr);
> -     FAIL_TEST_IF_FALSE(ptr != (void *)-1);
> +     FAIL_TEST_IF_FALSE(ptr != MAP_FAILED);
>
>       if (seal) {
>               ret = seal_single_address(ptr, size);
> @@ -549,7 +549,7 @@ static void test_seal_start_mprotect(bool seal)
>       int ret;
>
>       setup_single_address(size, &ptr);
> -     FAIL_TEST_IF_FALSE(ptr != (void *)-1);
> +     FAIL_TEST_IF_FALSE(ptr != MAP_FAILED);
>
>       if (seal) {
>               ret = seal_single_address(ptr, page_size);
> @@ -579,7 +579,7 @@ static void test_seal_end_mprotect(bool seal)
>       int ret;
>
>       setup_single_address(size, &ptr);
> -     FAIL_TEST_IF_FALSE(ptr != (void *)-1);
> +     FAIL_TEST_IF_FALSE(ptr != MAP_FAILED);
>
>       if (seal) {
>               ret = seal_single_address(ptr + page_size, 3 * page_size);
> @@ -609,7 +609,7 @@ static void test_seal_mprotect_unalign_len(bool seal)
>       int ret;
>
>       setup_single_address(size, &ptr);
> -     FAIL_TEST_IF_FALSE(ptr != (void *)-1);
> +     FAIL_TEST_IF_FALSE(ptr != MAP_FAILED);
>
>       if (seal) {
>               ret = seal_single_address(ptr, page_size * 2 - 1);
> @@ -638,7 +638,7 @@ static void test_seal_mprotect_unalign_len_variant_2(bool 
> seal)
>       int ret;
>
>       setup_single_address(size, &ptr);
> -     FAIL_TEST_IF_FALSE(ptr != (void *)-1);
> +     FAIL_TEST_IF_FALSE(ptr != MAP_FAILED);
>       if (seal) {
>               ret =  seal_single_address(ptr, page_size * 2 + 1);
>               FAIL_TEST_IF_FALSE(!ret);
> @@ -666,7 +666,7 @@ static void test_seal_mprotect_two_vma(bool seal)
>       int ret;
>
>       setup_single_address(size, &ptr);
> -     FAIL_TEST_IF_FALSE(ptr != (void *)-1);
> +     FAIL_TEST_IF_FALSE(ptr != MAP_FAILED);
>
>       /* use mprotect to split */
>       ret = sys_mprotect(ptr, page_size * 2, PROT_READ | PROT_WRITE);
> @@ -701,7 +701,7 @@ static void test_seal_mprotect_two_vma_with_split(bool 
> seal)
>       int ret;
>
>       setup_single_address(size, &ptr);
> -     FAIL_TEST_IF_FALSE(ptr != (void *)-1);
> +     FAIL_TEST_IF_FALSE(ptr != MAP_FAILED);
>
>       /* use mprotect to split as two vma. */
>       ret = sys_mprotect(ptr, page_size * 2, PROT_READ | PROT_WRITE);
> @@ -748,7 +748,7 @@ static void test_seal_mprotect_partial_mprotect(bool seal)
>       int ret;
>
>       setup_single_address(size, &ptr);
> -     FAIL_TEST_IF_FALSE(ptr != (void *)-1);
> +     FAIL_TEST_IF_FALSE(ptr != MAP_FAILED);
>
>       /* seal one page. */
>       if (seal) {
> @@ -780,7 +780,7 @@ static void test_seal_mprotect_partial_mprotect_tail(bool 
> seal)
>        */
>
>       setup_single_address(size, &ptr);
> -     FAIL_TEST_IF_FALSE(ptr != (void *)-1);
> +     FAIL_TEST_IF_FALSE(ptr != MAP_FAILED);
>
>       if (seal) {
>               ret = sys_mseal(ptr + page_size, page_size);
> @@ -810,7 +810,7 @@ static void test_seal_mprotect_two_vma_with_gap(void)
>       int ret;
>
>       setup_single_address(size, &ptr);
> -     FAIL_TEST_IF_FALSE(ptr != (void *)-1);
> +     FAIL_TEST_IF_FALSE(ptr != MAP_FAILED);
>
>       /* use mprotect to split. */
>       ret = sys_mprotect(ptr, page_size, PROT_READ | PROT_WRITE);
> @@ -853,7 +853,7 @@ static void test_seal_mprotect_split(bool seal)
>       int ret;
>
>       setup_single_address(size, &ptr);
> -     FAIL_TEST_IF_FALSE(ptr != (void *)-1);
> +     FAIL_TEST_IF_FALSE(ptr != MAP_FAILED);
>
>       /* use mprotect to split. */
>       ret = sys_mprotect(ptr, page_size, PROT_READ | PROT_WRITE);
> @@ -890,7 +890,7 @@ static void test_seal_mprotect_merge(bool seal)
>       int ret;
>
>       setup_single_address(size, &ptr);
> -     FAIL_TEST_IF_FALSE(ptr != (void *)-1);
> +     FAIL_TEST_IF_FALSE(ptr != MAP_FAILED);
>
>       /* use mprotect to split one page. */
>       ret = sys_mprotect(ptr, page_size, PROT_READ | PROT_WRITE);
> @@ -924,7 +924,7 @@ static void test_seal_munmap(bool seal)
>       int ret;
>
>       setup_single_address(size, &ptr);
> -     FAIL_TEST_IF_FALSE(ptr != (void *)-1);
> +     FAIL_TEST_IF_FALSE(ptr != MAP_FAILED);
>
>       if (seal) {
>               ret = sys_mseal(ptr, size);
> @@ -955,7 +955,7 @@ static void test_seal_munmap_two_vma(bool seal)
>       int ret;
>
>       setup_single_address(size, &ptr);
> -     FAIL_TEST_IF_FALSE(ptr != (void *)-1);
> +     FAIL_TEST_IF_FALSE(ptr != MAP_FAILED);
>
>       /* use mprotect to split */
>       ret = sys_mprotect(ptr, page_size * 2, PROT_READ | PROT_WRITE);
> @@ -996,7 +996,7 @@ static void test_seal_munmap_vma_with_gap(bool seal)
>       int ret;
>
>       setup_single_address(size, &ptr);
> -     FAIL_TEST_IF_FALSE(ptr != (void *)-1);
> +     FAIL_TEST_IF_FALSE(ptr != MAP_FAILED);
>
>       ret = sys_munmap(ptr + page_size, page_size * 2);
>       FAIL_TEST_IF_FALSE(!ret);
> @@ -1028,7 +1028,7 @@ static void test_seal_munmap_partial_across_vmas(bool 
> seal)
>       int prot;
>
>       setup_single_address(size, &ptr);
> -     FAIL_TEST_IF_FALSE(ptr != (void *)-1);
> +     FAIL_TEST_IF_FALSE(ptr != MAP_FAILED);
>
>       if (seal) {
>               ret = sys_mseal(ptr + page_size, page_size);
> @@ -1058,7 +1058,7 @@ static void test_munmap_start_freed(bool seal)
>       int prot;
>
>       setup_single_address(size, &ptr);
> -     FAIL_TEST_IF_FALSE(ptr != (void *)-1);
> +     FAIL_TEST_IF_FALSE(ptr != MAP_FAILED);
>
>       /* unmap the first page. */
>       ret = sys_munmap(ptr, page_size);
> @@ -1097,7 +1097,7 @@ static void test_munmap_end_freed(bool seal)
>       int ret;
>
>       setup_single_address(size, &ptr);
> -     FAIL_TEST_IF_FALSE(ptr != (void *)-1);
> +     FAIL_TEST_IF_FALSE(ptr != MAP_FAILED);
>
>       /* unmap last page. */
>       ret = sys_munmap(ptr + page_size * 3, page_size);
> @@ -1128,7 +1128,7 @@ static void test_munmap_middle_freed(bool seal)
>       int prot;
>
>       setup_single_address(size, &ptr);
> -     FAIL_TEST_IF_FALSE(ptr != (void *)-1);
> +     FAIL_TEST_IF_FALSE(ptr != MAP_FAILED);
>
>       /* unmap 2 pages in the middle. */
>       ret = sys_munmap(ptr + page_size, page_size * 2);
> @@ -1172,7 +1172,7 @@ static void test_seal_mremap_shrink(bool seal)
>       void *ret2;
>
>       setup_single_address(size, &ptr);
> -     FAIL_TEST_IF_FALSE(ptr != (void *)-1);
> +     FAIL_TEST_IF_FALSE(ptr != MAP_FAILED);
>
>       if (seal) {
>               ret = sys_mseal(ptr, size);
> @@ -1201,7 +1201,7 @@ static void test_seal_mremap_expand(bool seal)
>       void *ret2;
>
>       setup_single_address(size, &ptr);
> -     FAIL_TEST_IF_FALSE(ptr != (void *)-1);
> +     FAIL_TEST_IF_FALSE(ptr != MAP_FAILED);
>       /* ummap last 2 pages. */
>       ret = sys_munmap(ptr + 2 * page_size, 2 * page_size);
>       FAIL_TEST_IF_FALSE(!ret);
> @@ -1233,9 +1233,9 @@ static void test_seal_mremap_move(bool seal)
>       void *ret2;
>
>       setup_single_address(size, &ptr);
> -     FAIL_TEST_IF_FALSE(ptr != (void *)-1);
> +     FAIL_TEST_IF_FALSE(ptr != MAP_FAILED);
>       setup_single_address(size, &newPtr);
> -     FAIL_TEST_IF_FALSE(newPtr != (void *)-1);
> +     FAIL_TEST_IF_FALSE(newPtr != MAP_FAILED);
>       ret = clean_single_address(newPtr, size);
>       FAIL_TEST_IF_FALSE(!ret);
>
> @@ -1266,7 +1266,7 @@ static void test_seal_mmap_overwrite_prot(bool seal)
>       void *ret2;
>
>       setup_single_address(size, &ptr);
> -     FAIL_TEST_IF_FALSE(ptr != (void *)-1);
> +     FAIL_TEST_IF_FALSE(ptr != MAP_FAILED);
>
>       if (seal) {
>               ret = sys_mseal(ptr, size);
> @@ -1294,7 +1294,7 @@ static void test_seal_mmap_expand(bool seal)
>       void *ret2;
>
>       setup_single_address(size, &ptr);
> -     FAIL_TEST_IF_FALSE(ptr != (void *)-1);
> +     FAIL_TEST_IF_FALSE(ptr != MAP_FAILED);
>       /* ummap last 4 pages. */
>       ret = sys_munmap(ptr + 8 * page_size, 4 * page_size);
>       FAIL_TEST_IF_FALSE(!ret);
> @@ -1325,7 +1325,7 @@ static void test_seal_mmap_shrink(bool seal)
>       void *ret2;
>
>       setup_single_address(size, &ptr);
> -     FAIL_TEST_IF_FALSE(ptr != (void *)-1);
> +     FAIL_TEST_IF_FALSE(ptr != MAP_FAILED);
>
>       if (seal) {
>               ret = sys_mseal(ptr, size);
> @@ -1354,9 +1354,9 @@ static void test_seal_mremap_shrink_fixed(bool seal)
>       void *ret2;
>
>       setup_single_address(size, &ptr);
> -     FAIL_TEST_IF_FALSE(ptr != (void *)-1);
> +     FAIL_TEST_IF_FALSE(ptr != MAP_FAILED);
>       setup_single_address(size, &newAddr);
> -     FAIL_TEST_IF_FALSE(newAddr != (void *)-1);
> +     FAIL_TEST_IF_FALSE(newAddr != MAP_FAILED);
>
>       if (seal) {
>               ret = sys_mseal(ptr, size);
> @@ -1385,9 +1385,9 @@ static void test_seal_mremap_expand_fixed(bool seal)
>       void *ret2;
>
>       setup_single_address(page_size, &ptr);
> -     FAIL_TEST_IF_FALSE(ptr != (void *)-1);
> +     FAIL_TEST_IF_FALSE(ptr != MAP_FAILED);
>       setup_single_address(size, &newAddr);
> -     FAIL_TEST_IF_FALSE(newAddr != (void *)-1);
> +     FAIL_TEST_IF_FALSE(newAddr != MAP_FAILED);
>
>       if (seal) {
>               ret = sys_mseal(newAddr, size);
> @@ -1416,9 +1416,9 @@ static void test_seal_mremap_move_fixed(bool seal)
>       void *ret2;
>
>       setup_single_address(size, &ptr);
> -     FAIL_TEST_IF_FALSE(ptr != (void *)-1);
> +     FAIL_TEST_IF_FALSE(ptr != MAP_FAILED);
>       setup_single_address(size, &newAddr);
> -     FAIL_TEST_IF_FALSE(newAddr != (void *)-1);
> +     FAIL_TEST_IF_FALSE(newAddr != MAP_FAILED);
>
>       if (seal) {
>               ret = sys_mseal(newAddr, size);
> @@ -1445,7 +1445,7 @@ static void test_seal_mremap_move_fixed_zero(bool seal)
>       void *ret2;
>
>       setup_single_address(size, &ptr);
> -     FAIL_TEST_IF_FALSE(ptr != (void *)-1);
> +     FAIL_TEST_IF_FALSE(ptr != MAP_FAILED);
>
>       if (seal) {
>               ret = sys_mseal(ptr, size);
> @@ -1476,7 +1476,7 @@ static void test_seal_mremap_move_dontunmap(bool seal)
>       void *ret2;
>
>       setup_single_address(size, &ptr);
> -     FAIL_TEST_IF_FALSE(ptr != (void *)-1);
> +     FAIL_TEST_IF_FALSE(ptr != MAP_FAILED);
>
>       if (seal) {
>               ret = sys_mseal(ptr, size);
> @@ -1505,7 +1505,7 @@ static void 
> test_seal_mremap_move_dontunmap_anyaddr(bool seal)
>       void *ret2;
>
>       setup_single_address(size, &ptr);
> -     FAIL_TEST_IF_FALSE(ptr != (void *)-1);
> +     FAIL_TEST_IF_FALSE(ptr != MAP_FAILED);
>
>       if (seal) {
>               ret = sys_mseal(ptr, size);
> @@ -1517,7 +1517,7 @@ static void 
> test_seal_mremap_move_dontunmap_anyaddr(bool seal)
>        * use allocate/free to similate that.
>        */
>       setup_single_address(size, &ptr2);
> -     FAIL_TEST_IF_FALSE(ptr2 != (void *)-1);
> +     FAIL_TEST_IF_FALSE(ptr2 != MAP_FAILED);
>       ret = sys_munmap(ptr2, size);
>       FAIL_TEST_IF_FALSE(!ret);
>
> @@ -1547,7 +1547,7 @@ static void test_seal_merge_and_split(void)
>
>       /* (24 RO) */
>       setup_single_address(24 * page_size, &ptr);
> -     FAIL_TEST_IF_FALSE(ptr != (void *)-1);
> +     FAIL_TEST_IF_FALSE(ptr != MAP_FAILED);
>
>       /* use mprotect(NONE) to set out boundary */
>       /* (1 NONE) (22 RO) (1 NONE) */
> @@ -1637,7 +1637,7 @@ static void test_seal_discard_ro_anon_on_rw(bool seal)
>       int ret;
>
>       setup_single_address_rw(size, &ptr);
> -     FAIL_TEST_IF_FALSE(ptr != (void *)-1);
> +     FAIL_TEST_IF_FALSE(ptr != MAP_FAILED);
>
>       if (seal) {
>               ret = sys_mseal(ptr, size);
> @@ -1669,7 +1669,7 @@ static void test_seal_discard_ro_anon_on_pkey(bool seal)
>       SKIP_TEST_IF_FALSE(pkey_supported());
>
>       setup_single_address_rw(size, &ptr);
> -     FAIL_TEST_IF_FALSE(ptr != (void *)-1);
> +     FAIL_TEST_IF_FALSE(ptr != MAP_FAILED);
>
>       pkey = sys_pkey_alloc(0, PKEY_UNRESTRICTED);
>       FAIL_TEST_IF_FALSE(pkey > 0);
> @@ -1751,7 +1751,7 @@ static void test_seal_discard_ro_anon_on_shared(bool 
> seal)
>       unsigned long mapflags = MAP_ANONYMOUS | MAP_SHARED;
>
>       ptr = mmap(NULL, size, PROT_READ, mapflags, -1, 0);
> -     FAIL_TEST_IF_FALSE(ptr != (void *)-1);
> +     FAIL_TEST_IF_FALSE(ptr != MAP_FAILED);
>
>       if (seal) {
>               ret = sys_mseal(ptr, size);
> @@ -1779,7 +1779,7 @@ static void test_seal_discard_ro_anon(bool seal)
>       int ret;
>
>       setup_single_address(size, &ptr);
> -     FAIL_TEST_IF_FALSE(ptr != (void *)-1);
> +     FAIL_TEST_IF_FALSE(ptr != MAP_FAILED);
>
>       if (seal) {
>               ret = seal_single_address(ptr, size);
> @@ -1809,7 +1809,7 @@ static void test_seal_discard_across_vmas(bool seal)
>       int ret;
>
>       setup_single_address(size, &ptr);
> -     FAIL_TEST_IF_FALSE(ptr != (void *)-1);
> +     FAIL_TEST_IF_FALSE(ptr != MAP_FAILED);
>
>       if (seal) {
>               ret = seal_single_address(ptr + page_size, page_size);
> @@ -1840,7 +1840,7 @@ static void test_seal_madvise_nodiscard(bool seal)
>       int ret;
>
>       setup_single_address(size, &ptr);
> -     FAIL_TEST_IF_FALSE(ptr != (void *)-1);
> +     FAIL_TEST_IF_FALSE(ptr != MAP_FAILED);
>
>       if (seal) {
>               ret = seal_single_address(ptr, size);
> --
> 2.43.0
>

Cheers, Lorenzo

Reply via email to