mm: Fix false warnings from apply_to_page_range

This warning message is triggered when addr + size overflows to zero.
This has been observed to occur on ARM64 with CONFIG_RANDOMIZE_BASE=y
when the end of the linear address range is placed at ffffffffffffffff.

Change-Id: I57e34e522a4fc25ab43a0a00be6d0927ea4a1272
Signed-off-by: Patrick Daly <pdaly@codeaurora.org>
Signed-off-by: Zhenhua Huang <zhenhuah@codeaurora.org>
diff --git a/mm/memory.c b/mm/memory.c
index 5956d6f..ab749d7 100644
--- a/mm/memory.c
+++ b/mm/memory.c
@@ -1977,7 +1977,7 @@
 	unsigned long end = addr + size;
 	int err;
 
-	if (WARN_ON(addr >= end))
+	if (WARN_ON(addr >= end - 1))
 		return -EINVAL;
 
 	pgd = pgd_offset(mm, addr);