diff options
author | Vasily Gorbik <gor@linux.ibm.com> | 2017-11-20 12:15:10 +0100 |
---|---|---|
committer | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2018-10-09 11:21:27 +0200 |
commit | ac1256f82619724357242eb514f162c40d5b64d8 (patch) | |
tree | 2d326f11ac4da328f8be5391d90ef7ccbfd5b0c7 /arch/s390/kernel/smp.c | |
parent | s390/smp: kasan stack instrumentation support (diff) | |
download | linux-ac1256f82619724357242eb514f162c40d5b64d8.tar.xz linux-ac1256f82619724357242eb514f162c40d5b64d8.zip |
s390/kasan: reipl and kexec support
Some functions from both arch/s390/kernel/ipl.c and
arch/s390/kernel/machine_kexec.c are called without DAT enabled
(or with and without DAT enabled code paths). There is no easy way
to partially disable kasan for those files without a substantial
rework. Disable kasan for both files for now.
To avoid disabling kasan for arch/s390/kernel/diag.c DAT flag is
enabled in diag308 call. pcpu_delegate which disables DAT is marked
with __no_sanitize_address to disable instrumentation for that one
function.
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'arch/s390/kernel/smp.c')
-rw-r--r-- | arch/s390/kernel/smp.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/arch/s390/kernel/smp.c b/arch/s390/kernel/smp.c index c98059faee46..1b3188f57b58 100644 --- a/arch/s390/kernel/smp.c +++ b/arch/s390/kernel/smp.c @@ -313,8 +313,9 @@ static void __pcpu_delegate(void (*func)(void*), void *data) func(data); /* should not return */ } -static void pcpu_delegate(struct pcpu *pcpu, void (*func)(void *), - void *data, unsigned long stack) +static void __no_sanitize_address pcpu_delegate(struct pcpu *pcpu, + void (*func)(void *), + void *data, unsigned long stack) { struct lowcore *lc = lowcore_ptr[pcpu - pcpu_devices]; unsigned long source_cpu = stap(); |