powerpc/64: Don't trace irqs-off at interrupt return to soft-disabled context
authorNicholas Piggin <npiggin@gmail.com>
Thu, 16 Nov 2017 16:00:50 +0000 (02:00 +1000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 19 Mar 2018 07:42:55 +0000 (08:42 +0100)
commit9281b0856dcd4f3a168927585f5ac2e985d3d453
tree282c24d4834ab2ed93fb85cc1c9c18783c9bd2f3
parentd744153d67fd259d36ecbfb7487342d39d3ef650
powerpc/64: Don't trace irqs-off at interrupt return to soft-disabled context

[ Upstream commit acb1feab320e38588fccc568e3767761f494976f ]

When an interrupt is returning to a soft-disabled context (which can
happen for non-maskable interrupts or synchronous interrupts), it goes
through the motions of soft-disabling again, including calling
TRACE_DISABLE_INTS (i.e., trace_hardirqs_off()).

This is not necessary, because we must already be soft-disabled in the
interrupt context, it also may be causing crashes in the irq tracing
code to re-enter as an nmi. Replace it with a warning to ensure that
soft-interrupts are still disabled.

Fixes: 7c0482e3d055 ("powerpc/irq: Fix another case of lazy IRQ state getting out of sync")
Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/powerpc/kernel/entry_64.S