linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] ARM: ioremap: fix boundary check when reusing static mapping
@ 2012-01-25 18:16 Pawel Moll
  2012-01-25 18:37 ` Nicolas Pitre
  0 siblings, 1 reply; 13+ messages in thread
From: Pawel Moll @ 2012-01-25 18:16 UTC (permalink / raw)
  To: linux-arm-kernel

Since commit 576d2f2525612ecb5af029a76f21f22a3b82563d "ARM: add
generic ioremap optimization by reusing static mappings" ioremap()
is trying to reuse existing, static mapping when possible.

The condition checking boundaries of the requested and existing
mappings didn't take in-page offset into consideration though,
which lead to obscure and hard to debug problems when.

Cc: Nicolas Pitre <nico@fluxnic.net>
Signed-off-by: Pawel Moll <pawel.moll@arm.com>
---
 arch/arm/mm/ioremap.c |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/arch/arm/mm/ioremap.c b/arch/arm/mm/ioremap.c
index 80632e8..ba15937 100644
--- a/arch/arm/mm/ioremap.c
+++ b/arch/arm/mm/ioremap.c
@@ -225,7 +225,8 @@ void __iomem * __arm_ioremap_pfn_caller(unsigned long pfn,
 		if ((area->flags & VM_ARM_MTYPE_MASK) != VM_ARM_MTYPE(mtype))
 			continue;
 		if (__phys_to_pfn(area->phys_addr) > pfn ||
-		    __pfn_to_phys(pfn) + size-1 > area->phys_addr + area->size-1)
+		    __pfn_to_phys(pfn) + offset + size-1 >
+		    area->phys_addr + area->size-1)
 			continue;
 		/* we can drop the lock here as we know *area is static */
 		read_unlock(&vmlist_lock);
-- 
1.7.5.4

^ permalink raw reply related	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2012-01-30 11:10 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-01-25 18:16 [PATCH] ARM: ioremap: fix boundary check when reusing static mapping Pawel Moll
2012-01-25 18:37 ` Nicolas Pitre
2012-01-26 10:35   ` Pawel Moll
2012-01-28 22:55     ` Joachim Eastwood
2012-01-29  0:11       ` Russell King - ARM Linux
2012-01-29 13:10         ` Joachim Eastwood
2012-01-29 13:14           ` Russell King - ARM Linux
2012-01-29 13:22             ` Joachim Eastwood
2012-01-29 14:14               ` Russell King - ARM Linux
2012-01-29 14:33                 ` Joachim Eastwood
2012-01-29 14:55                   ` Russell King - ARM Linux
2012-01-29 15:13                     ` Nicolas Pitre
2012-01-30 11:10                     ` Pawel Moll

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).