summaryrefslogtreecommitdiff
path: root/arch/s390/kernel/trace.c
diff options
context:
space:
mode:
authorPhilipp Rudo <prudo@linux.ibm.com>2020-04-06 15:47:48 +0300
committerVasily Gorbik <gor@linux.ibm.com>2020-04-22 17:20:55 +0300
commit8ebf6da9db1b2a20bb86cc1bee2552e894d03308 (patch)
tree5f29c829690f812c8690f40ebedcf53fb60aae27 /arch/s390/kernel/trace.c
parentae83d0b416db002fe95601e7f97f64b59514d936 (diff)
downloadlinux-8ebf6da9db1b2a20bb86cc1bee2552e894d03308.tar.xz
s390/ftrace: fix potential crashes when switching tracers
Switching tracers include instruction patching. To prevent that a instruction is patched while it's read the instruction patching is done in stop_machine 'context'. This also means that any function called during stop_machine must not be traced. Thus add 'notrace' to all functions called within stop_machine. Fixes: 1ec2772e0c3c ("s390/diag: add a statistic for diagnose calls") Fixes: 38f2c691a4b3 ("s390: improve wait logic of stop_machine") Fixes: 4ecf0a43e729 ("processor: get rid of cpu_relax_yield") Signed-off-by: Philipp Rudo <prudo@linux.ibm.com> Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
Diffstat (limited to 'arch/s390/kernel/trace.c')
-rw-r--r--arch/s390/kernel/trace.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/s390/kernel/trace.c b/arch/s390/kernel/trace.c
index 490b52e85014..11a669f3cc93 100644
--- a/arch/s390/kernel/trace.c
+++ b/arch/s390/kernel/trace.c
@@ -14,7 +14,7 @@ EXPORT_TRACEPOINT_SYMBOL(s390_diagnose);
static DEFINE_PER_CPU(unsigned int, diagnose_trace_depth);
-void trace_s390_diagnose_norecursion(int diag_nr)
+void notrace trace_s390_diagnose_norecursion(int diag_nr)
{
unsigned long flags;
unsigned int *depth;