ARM: tlb: delay page freeing for SMP and ARMv7 CPUs
authorRussell King <rmk+kernel@arm.linux.org.uk>
Sun, 20 Feb 2011 12:16:45 +0000 (12:16 +0000)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Mon, 21 Feb 2011 19:29:28 +0000 (19:29 +0000)
commit06824ba824b3e9f2fedb38bee79af0643198ed7f
treece6da1f5fd789a08dafec39e094b29cf6023a9af
parenta9ad21fed09cb95d34af9474be0831525b30c4c6
ARM: tlb: delay page freeing for SMP and ARMv7 CPUs

We need to delay freeing any mapped page on SMP and ARMv7 systems to
ensure that the data is not accessed by other CPUs, or is used for
speculative prefetch with ARMv7.  This includes not only mapped pages
but also pages used for the page tables themselves.

This avoids races with the MMU/other CPUs accessing pages after they've
been freed but before we've invalidated the TLB.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
arch/arm/include/asm/tlb.h