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>
This commit is contained in:
Russell King 2011-06-23 14:24:09 +01:00
parent 2c74a0cefa
commit 0853f96f13

View file

@ -2,6 +2,7 @@
#define __ASM_ARM_SUSPEND_H #define __ASM_ARM_SUSPEND_H
#include <asm/memory.h> #include <asm/memory.h>
#include <asm/tlbflush.h>
extern void cpu_resume(void); 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, extern void __cpu_suspend(int, long, unsigned long,
void (*)(unsigned long)); void (*)(unsigned long));
__cpu_suspend(0, PHYS_OFFSET - PAGE_OFFSET, arg, fn); __cpu_suspend(0, PHYS_OFFSET - PAGE_OFFSET, arg, fn);
flush_tlb_all();
} }
#endif #endif