diff options
author | Nicolas Pitre <nico@cam.org> | 2009-02-18 22:29:22 +0100 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2009-02-19 09:49:45 +0000 |
commit | 3fd9825c42c784a59b3b90bdf073f49d4bb42a8d (patch) | |
tree | ae0910729307786e5393b66373239c4dee48303f | |
parent | fd4b9b3650076ffadbdd6e360eb198f5d61747c0 (diff) | |
download | op-kernel-dev-3fd9825c42c784a59b3b90bdf073f49d4bb42a8d.zip op-kernel-dev-3fd9825c42c784a59b3b90bdf073f49d4bb42a8d.tar.gz |
[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: Lennert Buytenhek <buytenh@marvell.com>
Signed-off-by: Nicolas Pitre <nico@marvell.com>
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
-rw-r--r-- | arch/arm/mm/mmu.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/arm/mm/mmu.c b/arch/arm/mm/mmu.c index 9b36c5c..d4d082c 100644 --- a/arch/arm/mm/mmu.c +++ b/arch/arm/mm/mmu.c @@ -693,7 +693,8 @@ static void __init sanity_check_meminfo(void) * Check whether this memory bank would entirely overlap * 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 " "(vmalloc region overlap).\n", bank->start, bank->start + bank->size - 1); |