[PATCH v2 12/14] powerpc/64s: machine check do not trace real-mode handler
Nicholas Piggin
npiggin at gmail.com
Sat Apr 4 00:26:20 AEDT 2020
Rather than notrace annotations throughout a significant part of the
machine check code across kernel/ pseries/ and powernv/ which can
easily be broken and is infrequently tested, use paca->ftrace_enabled
to blanket-disable tracing of the real-mode non-maskable handler.
Acked-by: Naveen N. Rao <naveen.n.rao at linux.vnet.ibm.com>
Signed-off-by: Nicholas Piggin <npiggin at gmail.com>
---
arch/powerpc/kernel/mce.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/arch/powerpc/kernel/mce.c b/arch/powerpc/kernel/mce.c
index c1684be0d8b7..36e99adb8710 100644
--- a/arch/powerpc/kernel/mce.c
+++ b/arch/powerpc/kernel/mce.c
@@ -557,10 +557,13 @@ EXPORT_SYMBOL_GPL(machine_check_print_event_info);
*
* regs->nip and regs->msr contains srr0 and ssr1.
*/
-long machine_check_early(struct pt_regs *regs)
+long notrace machine_check_early(struct pt_regs *regs)
{
long handled = 0;
bool nested = in_nmi();
+ u8 ftrace_enabled = local_paca->ftrace_enabled;
+
+ local_paca->ftrace_enabled = 0;
if (!nested)
nmi_enter();
@@ -574,6 +577,7 @@ long machine_check_early(struct pt_regs *regs)
if (!nested)
nmi_exit();
+ local_paca->ftrace_enabled = ftrace_enabled;
return handled;
}
--
2.23.0
More information about the Linuxppc-dev
mailing list