OSDN Git Service

powerpc: Do not send system reset request through the oops path
authorNicholas Piggin <npiggin@gmail.com>
Wed, 5 Jul 2017 03:56:27 +0000 (13:56 +1000)
committerMichael Ellerman <mpe@ellerman.id.au>
Thu, 31 Aug 2017 04:26:02 +0000 (14:26 +1000)
commit4388c9b3a6ee7d6afc36c8a0bb5579b1606229b5
tree21fe59d5666241961932b05f6dc1a6aca435cc1a
parentbded0706434dd34fe9d39a8f1bbb518154cacd7f
powerpc: Do not send system reset request through the oops path

A system reset is a request to crash / debug the system rather than
necessarily caused by encountering a BUG. So there is no need to
serialize all CPUs behind the die lock, adding taints to all
subsequent traces beyond the first, breaking console locks, etc.

The system reset is NMI context which has its own printk buffers to
prevent output being interleaved. Then it's better to have all
secondaries print out their debug as quickly as possible and the
primary will flush out all printk buffers during panic().

So remove the 0x100 path from die, and move it into system_reset. Name
the crash/dump reasons "System Reset".

This gives "not tained" traces when crashing an untainted kernel. It
also gives the panic reason as "System Reset" as opposed to "Fatal
exception in interrupt" (or "die oops" for fadump).

Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
arch/powerpc/kernel/traps.c