Commit 2e4e27c7 authored by Adam Lackorzynski's avatar Adam Lackorzynski Committed by Linus Torvalds

vmalloc.c: fix flushing in vmap_page_range()

The flush_cache_vmap in vmap_page_range() is called with the end of the
range twice.  The following patch fixes this for me.
Signed-off-by: default avatarAdam Lackorzynski <>
Cc: Nick Piggin <>
Cc: <>
Signed-off-by: default avatarAndrew Morton <>
Signed-off-by: default avatarLinus Torvalds <>
parent 7b574b7b
......@@ -151,11 +151,12 @@ static int vmap_pud_range(pgd_t *pgd, unsigned long addr,
* Ie. pte at addr+N*PAGE_SIZE shall point to pfn corresponding to pages[N]
static int vmap_page_range(unsigned long addr, unsigned long end,
static int vmap_page_range(unsigned long start, unsigned long end,
pgprot_t prot, struct page **pages)
pgd_t *pgd;
unsigned long next;
unsigned long addr = start;
int err = 0;
int nr = 0;
......@@ -167,7 +168,7 @@ static int vmap_page_range(unsigned long addr, unsigned long end,
if (err)
} while (pgd++, addr = next, addr != end);
flush_cache_vmap(addr, end);
flush_cache_vmap(start, end);
if (unlikely(err))
return err;
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment