lkml.org 
[lkml]   [2018]   [Apr]   [9]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH AUTOSEL for 4.15 034/189] powerpc: System reset avoid interleaving oops using die synchronisation
    Date
    From: Nicholas Piggin <npiggin@gmail.com>

    [ Upstream commit 4552d128c26e0f0f27a5bd2fadc24092b8f6c1d7 ]

    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 4388c9b3a6ee7 ("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: 4388c9b3a6ee7 ("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>
    Signed-off-by: Sasha Levin <alexander.levin@microsoft.com>
    ---
    arch/powerpc/kernel/traps.c | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    diff --git a/arch/powerpc/kernel/traps.c b/arch/powerpc/kernel/traps.c
    index f3eb61be0d30..109989676776 100644
    --- a/arch/powerpc/kernel/traps.c
    +++ b/arch/powerpc/kernel/traps.c
    @@ -337,7 +337,7 @@ void system_reset_exception(struct pt_regs *regs)
    * No debugger or crash dump registered, print logs then
    * panic.
    */
    - __die("System Reset", regs, SIGABRT);
    + die("System Reset", regs, SIGABRT);

    mdelay(2*MSEC_PER_SEC); /* Wait a little while for others to print */
    add_taint(TAINT_DIE, LOCKDEP_NOW_UNRELIABLE);
    --
    2.15.1
    \
     
     \ /
      Last update: 2018-04-09 06:08    [W:4.048 / U:0.044 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site