diff options
author | Tejun Heo <tj@kernel.org> | 2009-02-20 02:29:07 -0500 |
---|---|---|
committer | Tejun Heo <tj@kernel.org> | 2009-02-20 02:29:07 -0500 |
commit | 734269521e320ad14ed39ae9b64d482b9028dcd2 (patch) | |
tree | 0414076b628cae80a872adaf15eb85e20855024b /mm/vmalloc.c | |
parent | 42f8faecf7a88371de0f30aebb052d1ae51762c0 (diff) |
vmalloc: call flush_cache_vunmap() from unmap_kernel_range()
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>
Diffstat (limited to 'mm/vmalloc.c')
-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 75f49d312e8c..c37924a2ee36 100644 --- a/mm/vmalloc.c +++ b/mm/vmalloc.c | |||
@@ -1012,6 +1012,8 @@ void __init vmalloc_init(void) | |||
1012 | void unmap_kernel_range(unsigned long addr, unsigned long size) | 1012 | void unmap_kernel_range(unsigned long addr, unsigned long size) |
1013 | { | 1013 | { |
1014 | unsigned long end = addr + size; | 1014 | unsigned long end = addr + size; |
1015 | |||
1016 | flush_cache_vunmap(addr, end); | ||
1015 | vunmap_page_range(addr, end); | 1017 | vunmap_page_range(addr, end); |
1016 | flush_tlb_kernel_range(addr, end); | 1018 | flush_tlb_kernel_range(addr, end); |
1017 | } | 1019 | } |