• Benjamin Herrenschmidt's avatar
    [PATCH] ppc64: Fix huge pages MMU mapping bug · 67b10813
    Benjamin Herrenschmidt authored
    
    
    Current kernel has a couple of sneaky bugs in the ppc64 hugetlb code that
    cause huge pages to be potentially left stale in the hash table and TLBs
    (improperly invalidated), with all the nasty consequences that can have.
    
    One is that we forgot to set the "secondary" bit in the hash PTEs when
    hashing a huge page in the secondary bucket (fortunately very rare).
    
    The other one is on non-LPAR machines (like Apple G5s), flush_hash_range()
    which is used to flush a batch of PTEs simply did not work for huge pages.
    Historically, our huge page code didn't batch, but this was changed without
    fixing this routine.  This patch fixes both.
    Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
    Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
    Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
    67b10813
hugetlbpage.c 18.1 KB