Commit 3fd9825c authored by Nicolas Pitre's avatar Nicolas Pitre Committed by Russell King

[ARM] 5402/1: fix a case of wrap-around in sanity_check_meminfo()

In the non highmem case, if two memory banks of 1GB each are provided,
the second bank would evade suppression since its virtual base would
be 0.  Fix this by disallowing any memory bank which virtual base
address is found to be lower than PAGE_OFFSET.
Reported-by: default avatarLennert Buytenhek <buytenh@marvell.com>
Signed-off-by: default avatarNicolas Pitre <nico@marvell.com>
Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
parent fd4b9b36
...@@ -693,7 +693,8 @@ static void __init sanity_check_meminfo(void) ...@@ -693,7 +693,8 @@ static void __init sanity_check_meminfo(void)
* Check whether this memory bank would entirely overlap * Check whether this memory bank would entirely overlap
* the vmalloc area. * the vmalloc area.
*/ */
if (__va(bank->start) >= VMALLOC_MIN) { if (__va(bank->start) >= VMALLOC_MIN ||
__va(bank->start) < PAGE_OFFSET) {
printk(KERN_NOTICE "Ignoring RAM at %.8lx-%.8lx " printk(KERN_NOTICE "Ignoring RAM at %.8lx-%.8lx "
"(vmalloc region overlap).\n", "(vmalloc region overlap).\n",
bank->start, bank->start + bank->size - 1); bank->start, bank->start + bank->size - 1);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment