s390/ftrace: fix potential crashes when switching tracers
authorPhilipp Rudo <prudo@linux.ibm.com>
Mon, 6 Apr 2020 12:47:48 +0000 (14:47 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 2 May 2020 06:48:44 +0000 (08:48 +0200)
commit37405f2963c7e9de7f6183109143951ab81b1ed8
tree0506dd550064928a3daddd685686ef602a31e3ac
parent1f107e441bde6794a7b3bc534823770c7e6911b4
s390/ftrace: fix potential crashes when switching tracers

commit 8ebf6da9db1b2a20bb86cc1bee2552e894d03308 upstream.

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>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
arch/s390/kernel/diag.c
arch/s390/kernel/smp.c
arch/s390/kernel/trace.c