diff options
author | Tejun Heo <tj@kernel.org> | 2009-02-20 15:38:48 -0800 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2009-03-16 17:32:12 -0700 |
commit | dbd17b6e5d8e8141ceab5d96b97120fdc00bf1b6 (patch) | |
tree | 7f9bed4ab662ff014afeea1554d43aa2b4c3acd4 /mm | |
parent | 47275acc1f1aaad98226740c9f257d741a8cb3d6 (diff) |
vmalloc: call flush_cache_vunmap() from unmap_kernel_range()
commit f6fcba7014f9cc535fa75ef98c008b24e49e2212 upstream.
Impact: proper vcache flush on unmap_kernel_range()
flush_cache_vunmap() should be called before pages are unmapped. Add
a call to it in unmap_kernel_range().
Signed-off-by: Tejun Heo <tj@kernel.org>
Acked-by: Nick Piggin <npiggin@suse.de>
Acked-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'mm')
-rw-r--r-- | mm/vmalloc.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/mm/vmalloc.c b/mm/vmalloc.c index d0b95b2aaa1..4172ce4f889 100644 --- a/mm/vmalloc.c +++ b/mm/vmalloc.c @@ -997,6 +997,8 @@ void __init vmalloc_init(void) void unmap_kernel_range(unsigned long addr, unsigned long size) { unsigned long end = addr + size; + + flush_cache_vunmap(addr, end); vunmap_page_range(addr, end); flush_tlb_kernel_range(addr, end); } |