• D
    powerpc: Fix address masking bug in hpte_need_flush() · 77058e1a
    David Gibson 提交于
    Commit f71dc176 'Make
    hpte_need_flush() correctly mask for multiple page sizes' introduced
    bug, which is triggered when a kernel with a 64k base page size is run
    on a system whose hardware does not 64k hash PTEs.  In this case, we
    emulate 64k pages with multiple 4k hash PTEs, however in
    hpte_need_flush() we incorrectly only mask the hardware page size from
    the address, instead of the logical page size.  This causes things to
    go wrong when we later attempt to iterate through the hardware
    subpages of the logical page.
    
    This patch corrects the error.  It has been tested on pSeries bare
    metal by Michael Neuling.
    Signed-off-by: NDavid Gibson <dwg@au1.ibm.com>
    Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
    77058e1a
tlb_hash64.c 6.6 KB