summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRussell King <rmk+kernel@arm.linux.org.uk>2011-06-23 14:24:09 +0100
committerRussell King <rmk+kernel@arm.linux.org.uk>2011-06-24 09:54:39 +0100
commit0853f96f13e0b60f1c319bcd7f6a3a84d0d1e706 (patch)
tree82cdbb2a589d2788217d12533ce94b7fdd233d2c
parent2c74a0cefa463a7a483b07ba4d2ea8e4ec7b996c (diff)
downloadlinux-0-day-0853f96f13e0b60f1c319bcd7f6a3a84d0d1e706.tar.gz
linux-0-day-0853f96f13e0b60f1c319bcd7f6a3a84d0d1e706.tar.xz
ARM: pm: ensure our temporary page table entry is removed from the TLB
Ensure that our temporary page table entry is flushed from the TLB before we resume normal operations. This ensures that userspace won't trip over the stale TLB entry. Tested-by: Kevin Hilman <khilman@ti.com> Acked-by: Jean Pihet <j-pihet@ti.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
-rw-r--r--arch/arm/include/asm/suspend.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/arm/include/asm/suspend.h b/arch/arm/include/asm/suspend.h
index 8d5b4461c205c..f8db9d096bc70 100644
--- a/arch/arm/include/asm/suspend.h
+++ b/arch/arm/include/asm/suspend.h
@@ -2,6 +2,7 @@
#define __ASM_ARM_SUSPEND_H
#include <asm/memory.h>
+#include <asm/tlbflush.h>
extern void cpu_resume(void);
@@ -14,6 +15,7 @@ static inline void cpu_suspend(unsigned long arg, void (*fn)(unsigned long))
extern void __cpu_suspend(int, long, unsigned long,
void (*)(unsigned long));
__cpu_suspend(0, PHYS_OFFSET - PAGE_OFFSET, arg, fn);
+ flush_tlb_all();
}
#endif