diff options
author | Florian Zumbiehl <florz@florz.de> | 2010-07-21 00:19:47 +0200 |
---|---|---|
committer | H. Peter Anvin <hpa@linux.intel.com> | 2010-07-21 01:56:35 +0200 |
commit | 468c30f2bbdf1ba0fbf16667eade23a46eaa8f06 (patch) | |
tree | 6822a6db298f5ae6a39fd317d00c3181c7982506 /arch/x86/mm/ioremap.c | |
parent | x86, mm: Create symbolic index into address_markers array (diff) | |
download | linux-468c30f2bbdf1ba0fbf16667eade23a46eaa8f06.tar.xz linux-468c30f2bbdf1ba0fbf16667eade23a46eaa8f06.zip |
x86, iomap: Fix wrong page aligned size calculation in ioremapping code
x86 early_iounmap(): fix off-by-one error in page alignment of allocation
size for sizes where size%PAGE_SIZE==1.
Signed-off-by: Florian Zumbiehl <florz@florz.de>
LKML-Reference: <201007202219.o6KMJlES021058@imap1.linux-foundation.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: H. Peter Anvin <hpa@linux.intel.com>
Diffstat (limited to 'arch/x86/mm/ioremap.c')
-rw-r--r-- | arch/x86/mm/ioremap.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/x86/mm/ioremap.c b/arch/x86/mm/ioremap.c index d41d3a9036ca..3ba6e0608c55 100644 --- a/arch/x86/mm/ioremap.c +++ b/arch/x86/mm/ioremap.c @@ -611,7 +611,7 @@ void __init early_iounmap(void __iomem *addr, unsigned long size) return; } offset = virt_addr & ~PAGE_MASK; - nrpages = PAGE_ALIGN(offset + size - 1) >> PAGE_SHIFT; + nrpages = PAGE_ALIGN(offset + size) >> PAGE_SHIFT; idx = FIX_BTMAP_BEGIN - NR_FIX_BTMAPS*slot; while (nrpages > 0) { |