selftests/vm: ksm_functional_tests: fixes for 32bit
authorDavid Hildenbrand <david@redhat.com>
Mon, 5 Dec 2022 19:37:16 +0000 (20:37 +0100)
committerAndrew Morton <akpm@linux-foundation.org>
Mon, 12 Dec 2022 02:12:21 +0000 (18:12 -0800)
The test currently fails on 32bit.  Fixing the "-1ull" vs.  "-1ul" seems
to make the test pass and the compiler happy.

Note: This test is not in mm-stable yet. This fix should be squashed into
      "selftests/vm: add KSM unmerge tests".

Link: https://lkml.kernel.org/r/20221205193716.276024-5-david@redhat.com
Signed-off-by: David Hildenbrand <david@redhat.com>
Cc: Shuah Khan <shuah@kernel.org>
Cc: Yang Li <yang.lee@linux.alibaba.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
tools/testing/selftests/vm/ksm_functional_tests.c
tools/testing/selftests/vm/vm_util.c

index 96644be..b11b7e5 100644 (file)
@@ -42,13 +42,13 @@ static bool range_maps_duplicates(char *addr, unsigned long size)
        for (offs_a = 0; offs_a < size; offs_a += pagesize) {
                pfn_a = pagemap_get_pfn(pagemap_fd, addr + offs_a);
                /* Page not present or PFN not exposed by the kernel. */
-               if (pfn_a == -1ull || !pfn_a)
+               if (pfn_a == -1ul || !pfn_a)
                        continue;
 
                for (offs_b = offs_a + pagesize; offs_b < size;
                     offs_b += pagesize) {
                        pfn_b = pagemap_get_pfn(pagemap_fd, addr + offs_b);
-                       if (pfn_b == -1ull || !pfn_b)
+                       if (pfn_b == -1ul || !pfn_b)
                                continue;
                        if (pfn_a == pfn_b)
                                return true;
index 7105719..40e7956 100644 (file)
@@ -50,7 +50,7 @@ unsigned long pagemap_get_pfn(int fd, char *start)
        /* If present (63th bit), PFN is at bit 0 -- 54. */
        if (entry & 0x8000000000000000ull)
                return entry & 0x007fffffffffffffull;
-       return -1ull;
+       return -1ul;
 }
 
 void clear_softdirty(void)