powerpc/64s: machine check interrupt update NMI accounting
authorNicholas Piggin <npiggin@gmail.com>
Fri, 8 May 2020 04:34:03 +0000 (14:34 +1000)
committerMichael Ellerman <mpe@ellerman.id.au>
Mon, 18 May 2020 14:10:34 +0000 (00:10 +1000)
commit116ac378bb3ff844df333e7609e7604651a0db9d
treed4d450c112d899d277babdfd5d58bce99e637117
parent2576f5f9169620bf329cf1e91086e6041b98e4b2
powerpc/64s: machine check interrupt update NMI accounting

machine_check_early() is taken as an NMI, so nmi_enter() is used
there. machine_check_exception() is no longer taken as an NMI (it's
invoked via irq_work in the case a machine check hits in kernel mode),
so remove the nmi_enter() from that case.

In NMI context, hash faults don't try to refill the hash table, which
can lead to crashes accessing non-pinned kernel pages. System reset
still has this potential problem.

Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
[mpe: Drop change in show_regs() which breaks Book3E]
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://lore.kernel.org/r/20200508043408.886394-12-npiggin@gmail.com
arch/powerpc/kernel/mce.c
arch/powerpc/kernel/traps.c