]> git.baikalelectronics.ru Git - kernel.git/commit
powerpc: System reset avoid interleaving oops using die synchronisation
authorNicholas Piggin <npiggin@gmail.com>
Sat, 23 Dec 2017 16:49:22 +0000 (02:49 +1000)
committerMichael Ellerman <mpe@ellerman.id.au>
Wed, 17 Jan 2018 13:38:59 +0000 (00:38 +1100)
commit59085b715511bd1e91e5948bc2b078adcb7ad627
tree97c94bbe4f7f5b2e1e5e611897704415d3034bd8
parentdbf5d284eab229951674898e46e539abcf8011a4
powerpc: System reset avoid interleaving oops using die synchronisation

The die() oops path contains a serializing lock to prevent oops
messages from being interleaved. In the case of a system reset
initiated oops (e.g., qemu nmi command), __die was being called
which lacks that synchronisation and oops reports could be
interleaved across CPUs.

A recent patch b92cee803405c ("powerpc: Do not send system reset
request through the oops path") changed this to __die to avoid
the debugger() call, but there is no real harm to calling it twice
if the first time fell through. So go back to using die() here.
This was observed to fix the problem.

Fixes: b92cee803405c ("powerpc: Do not send system reset request through the oops path")
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
arch/powerpc/kernel/traps.c