powerpc/traps: Do not trace system reset
authorNicholas Piggin <npiggin@gmail.com>
Fri, 8 May 2020 04:34:06 +0000 (14:34 +1000)
committerMichael Ellerman <mpe@ellerman.id.au>
Mon, 18 May 2020 14:10:35 +0000 (00:10 +1000)
Similarly to the previous patch, do not trace system reset. This code
is used when there is a crash or hang, and tracing disturbs the system
more and has been known to crash in the crash handling path.

Signed-off-by: Nicholas Piggin <npiggin@gmail.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Reviewed-by: Christophe Leroy <christophe.leroy@c-s.fr>
Acked-by: Naveen N. Rao <naveen.n.rao@linux.vnet.ibm.com>
Link: https://lore.kernel.org/r/20200508043408.886394-15-npiggin@gmail.com
arch/powerpc/kernel/traps.c

index 9f6852322e59552a39b314c187151bf809bc51a2..ee209c5a1ad777238f3e8063a67614ffe129972c 100644 (file)
@@ -443,6 +443,9 @@ void system_reset_exception(struct pt_regs *regs)
        unsigned long hsrr0, hsrr1;
        bool nested = in_nmi();
        bool saved_hsrrs = false;
+       u8 ftrace_enabled = this_cpu_get_ftrace_enabled();
+
+       this_cpu_set_ftrace_enabled(0);
 
        /*
         * Avoid crashes in case of nested NMI exceptions. Recoverability
@@ -524,6 +527,8 @@ out:
        if (!nested)
                nmi_exit();
 
+       this_cpu_set_ftrace_enabled(ftrace_enabled);
+
        /* What should we do here? We could issue a shutdown or hard reset. */
 }