• Benjamin Herrenschmidt's avatar
    [POWERPC] Fix possible access to free pages · 6ad8d010
    Benjamin Herrenschmidt authored
    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: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
    Signed-off-by: default avatarPaul Mackerras <paulus@samba.org>
    6ad8d010
tlb.h 1.89 KB