@@ -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;
@@ -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)
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". Signed-off-by: David Hildenbrand <david@redhat.com> --- tools/testing/selftests/vm/ksm_functional_tests.c | 4 ++-- tools/testing/selftests/vm/vm_util.c | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-)