diff options
author | Sebastian Andrzej Siewior <bigeasy@linutronix.de> | 2013-03-11 21:37:27 +0100 |
---|---|---|
committer | Steven Rostedt <rostedt@rostedt.homelinux.com> | 2013-04-22 15:15:52 -0400 |
commit | 140d249ed8a1aee197370904f934a4905076f619 (patch) | |
tree | fae2708acfd7abaeb1ef845038ab20066dfb740f | |
parent | 0bd375db74940b02a2b3d8131662aedb69f9584d (diff) |
arm/highmem: flush tlb on unmap
The tlb should be flushed on unmap and thus make the mapping entry
invalid. This is only done in the non-debug case which does not look
right.
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
-rw-r--r-- | arch/arm/mm/highmem.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/arm/mm/highmem.c b/arch/arm/mm/highmem.c index a654e0c805d7..c8d6d9a50b3c 100644 --- a/arch/arm/mm/highmem.c +++ b/arch/arm/mm/highmem.c @@ -99,10 +99,10 @@ void __kunmap_atomic(void *kvaddr) __cpuc_flush_dcache_area((void *)vaddr, PAGE_SIZE); #ifdef CONFIG_DEBUG_HIGHMEM BUG_ON(vaddr != __fix_to_virt(FIX_KMAP_BEGIN + idx)); - set_top_pte(vaddr, __pte(0)); #else (void) idx; /* to kill a warning */ #endif + set_top_pte(vaddr, __pte(0)); kmap_atomic_idx_pop(); } else if (vaddr >= PKMAP_ADDR(0) && vaddr < PKMAP_ADDR(LAST_PKMAP)) { /* this address was obtained through kmap_high_get() */ |