From: Greg Ungerer Date: Thu, 1 Oct 2009 23:45:28 +0000 (+0100) Subject: ARM: 5740/1: fix valid_phys_addr_range() range check X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=6806bfe18fca92e2001538b84cab5f63c5ea4bed;p=GitHub%2Fmoto-9609%2Fandroid_kernel_motorola_exynos9610.git ARM: 5740/1: fix valid_phys_addr_range() range check Commit 1522ac3ec95ff0230e7aa516f86b674fdf72866c ("Fix virtual to physical translation macro corner cases") breaks the end of memory check in valid_phys_addr_range(). The modified expression results in the apparent /dev/mem size being 2 bytes smaller than what it actually is. This patch reworks the expression to correctly check the address, while maintaining use of a valid address to __pa(). Signed-off-by: Greg Ungerer Signed-off-by: Russell King --- diff --git a/arch/arm/mm/mmap.c b/arch/arm/mm/mmap.c index f7457fea6de8..2b7996401b0f 100644 --- a/arch/arm/mm/mmap.c +++ b/arch/arm/mm/mmap.c @@ -124,7 +124,7 @@ int valid_phys_addr_range(unsigned long addr, size_t size) { if (addr < PHYS_OFFSET) return 0; - if (addr + size >= __pa(high_memory - 1)) + if (addr + size > __pa(high_memory - 1) + 1) return 0; return 1;