]> www.infradead.org Git - users/hch/block.git/commitdiff
selftests/mm/ksm_functional: prevent unmapping undefined address
authorJP Kobryn <inwardvessel@gmail.com>
Fri, 5 Jan 2024 20:24:01 +0000 (12:24 -0800)
committerAndrew Morton <akpm@linux-foundation.org>
Thu, 22 Feb 2024 00:00:02 +0000 (16:00 -0800)
Replace some goto statements with return statements so that unmap() is not
called on an undefined address.  This change is made so that unmap() can
only be reached after mmap() is called (and the address mentioned is
defined).  Returning MAP_FAILED seems acceptable since client code checks
for this value.

Link: https://lkml.kernel.org/r/20240105202401.28851-1-inwardvessel@gmail.com
Fixes: 42096aa24b82 ("selftest/mm: ksm_functional_tests: test in mmap_and_merge_range() if anything got merged")
Signed-off-by: JP Kobryn <inwardvessel@gmail.com>
Reviewed-by: David Hildenbrand <david@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
tools/testing/selftests/mm/ksm_functional_tests.c

index fbff0dd09191f15fcfa67de0917c67325935583f..d615767e396bec5f6f61fe9625c1f01008ee8939 100644 (file)
@@ -155,12 +155,12 @@ static char *mmap_and_merge_range(char val, unsigned long size, int prot,
        /* Stabilize accounting by disabling KSM completely. */
        if (ksm_unmerge()) {
                ksft_test_result_fail("Disabling (unmerging) KSM failed\n");
-               goto unmap;
+               return MAP_FAILED;
        }
 
        if (get_my_merging_pages() > 0) {
                ksft_test_result_fail("Still pages merged\n");
-               goto unmap;
+               return MAP_FAILED;
        }
 
        map = mmap(NULL, size, PROT_READ|PROT_WRITE,