Need to make sure the address is below high_memory before passing it to kern_addr_valid(). Signed-off-by: David S. Miller <davem@davemloft.net>
@@ -1333,6 +1333,9 @@ static int cheetah_check_main_memory(unsigned long paddr)
{
unsigned long vaddr = PAGE_OFFSET + paddr;
+ if (vaddr > high_memory)
+ return 0;
+
return kern_addr_valid(vaddr);
}