• Nicholas Piggin's avatar
    powerpc/64s: Fix stack setup in watchdog soft_nmi_common() · cc491f1d
    Nicholas Piggin authored
    The watchdog soft-NMI exception stack setup loads a stack pointer
    twice, which is an obvious error. It ends up using the system reset
    interrupt (true-NMI) stack, which is also a bug because the watchdog
    could be preempted by a system reset interrupt that overwrites the
    NMI stack.
    
    Change the soft-NMI to use the "emergency stack". The current kernel
    stack is not used, because of the longer-term goal to prevent
    asynchronous stack access using soft-disable.
    
    Fixes: 2104180a ("powerpc/64s: implement arch-specific hardlockup watchdog")
    Signed-off-by: default avatarNicholas Piggin <npiggin@gmail.com>
    Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
    cc491f1d
exceptions-64s.S 48.1 KB