diff options
author | Tejun Heo <tj@kernel.org> | 2009-02-20 15:38:48 -0800 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-02-20 17:57:49 -0800 |
commit | f6fcba7014f9cc535fa75ef98c008b24e49e2212 (patch) | |
tree | 85aae17fc20b8a4b6d5112c740950e0dcdcb9baf | |
parent | 3fd076dd955a34c35dc456f4ef676e03cdced044 (diff) | |
download | linux-f6fcba7014f9cc535fa75ef98c008b24e49e2212.tar.gz linux-f6fcba7014f9cc535fa75ef98c008b24e49e2212.tar.bz2 linux-f6fcba7014f9cc535fa75ef98c008b24e49e2212.zip |
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>
Acked-by: Nick Piggin <npiggin@suse.de>
Acked-by: David S. Miller <davem@davemloft.net>
Cc: <stable@kernel.org> [2.6.28.x]
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-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 4dd2636d0b92..903cad46e796 100644 --- a/mm/vmalloc.c +++ b/mm/vmalloc.c @@ -1012,6 +1012,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); } |