Hi,
the patch is untested and someone with detailed understanding of the
semantics of this code probably should check for correctness of
the fixed version in corner cases.
Florian
---------------------------------------------------------------------------
x86 __ioremap_caller(): fix check for overlap with RAM to check the
last page of the mapping as well.
Signed-off-by: Florian Zumbiehl <[email protected]>
diff --git a/arch/x86/mm/ioremap.c b/arch/x86/mm/ioremap.c
index a4643e5..4c3e4f9 100644
--- a/arch/x86/mm/ioremap.c
+++ b/arch/x86/mm/ioremap.c
@@ -101,7 +101,7 @@ static void __iomem *__ioremap_caller(resource_size_t phys_addr,
* Don't allow anybody to remap normal RAM that we're using..
*/
for (pfn = phys_addr >> PAGE_SHIFT;
- (pfn << PAGE_SHIFT) < (last_addr & PAGE_MASK);
+ pfn <= (last_addr >> PAGE_SHIFT);
pfn++) {
int is_ram = page_is_ram(pfn);