• Greg Ungerer's avatar
    MIPS: 64-bit: Fix system lockup. · a5e696e5
    Greg Ungerer authored
    The address range size calculation inside local_flush_tlb_kernel_range()
    is being truncated by a too small size variable holder on 64-bit systems.
    The truncated size can result in an erroneous tlbsize check that means we
    sit spinning inside a loop trying to flush a hige number of TLB entries.
    This is for all intents and purposes a system hang. Fix by using an
    appropriately sized valiable to hold the size.
    
    [Ralf: Greg's original patch submission identified the issue and fixed one
    instance in tlb-r4k.c but there there were several more.  For consistency
    I also modified tlb-r3k.c even though that file is only used on 32-bit.]
    Signed-off-by: default avatarGreg Ungerer <gerg@snapgear.com>
    Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
    a5e696e5
tlb-r3k.c 6.38 KB