[POWERPC] Fix possible access to free pages
authorBenjamin Herrenschmidt <benh@kernel.crashing.org>
Sun, 27 May 2007 05:18:22 +0000 (15:18 +1000)
committerPaul Mackerras <paulus@samba.org>
Sat, 2 Jun 2007 11:01:55 +0000 (21:01 +1000)
commit6ad8d010b2f364b739020e514e61b6a73444464b
treebb6b10d3c1b2db68a8bca66a587fa2db0a8f2fd9
parent988519acb3dbe7168276a36cbb8fd91fddbffaee
[POWERPC] Fix possible access to free pages

I think we have a subtle race on ppc64 with the tlb batching.  The
common code expects tlb_flush() to actually flush any pending TLB
batch.  It does that because it delays all page freeing until after
tlb_flush() is called, in order to ensure no stale reference to
those pages exist in any TLB, thus causing potential access to
the freed pages.

However, our tlb_flush only triggers the RCU for freeing page
table pages, it does not currently trigger a flush of a pending
TLB/hash batch, which is, I think, an error.  This fixes it.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Paul Mackerras <paulus@samba.org>
include/asm-powerpc/tlb.h