linux-stable/arch/s390/lib
Heiko Carstens 1c8b8cf28f s390/nmi: implement and use local_mcck_save() / local_mcck_restore()
Instead of using local_mcck_disable() / local_mcck_enable() implement and
use local_mcck_save() / local_mcck_restore() to disable machine checks, and
restoring the previous state.

The problem with using local_mcck_disable() / local_mcck_enable() is that
there is an assumption that machine checks are always enabled. While this
is currently the case the code still looks quite odd, readers need to
double check if the code is correct.

In order to increase readability save and then restore the old machine
check mask bit, instead of assuming that it must have been enabled.

Reviewed-by: Alexander Gordeev <agordeev@linux.ibm.com>
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Alexander Gordeev <agordeev@linux.ibm.com>
2023-12-11 14:33:05 +01:00
..
expoline s390/nospec: build expoline.o for modules_prepare target 2022-07-13 15:21:55 +02:00
Makefile s390: select ARCH_SUPPORTS_INT128 2023-05-15 14:12:14 +02:00
delay.c s390/delay: sync comment within __delay() with reality 2022-08-30 22:00:33 +02:00
error-inject.c s390: enable HAVE_FUNCTION_ERROR_INJECTION 2020-07-27 10:33:28 +02:00
find.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
mem.S s390: replace #include <asm/export.h> with #include <linux/export.h> 2023-08-09 15:20:50 +02:00
probes.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
spinlock.c s390: include linux/io.h instead of asm/io.h 2023-07-03 11:19:40 +02:00
string.c s390 updates for the 5.16 merge window 2021-11-06 14:48:06 -07:00
test_kprobes.c kprobes: add testcases for s390 2021-10-04 09:49:37 +02:00
test_kprobes.h kprobes: add testcases for s390 2021-10-04 09:49:37 +02:00
test_kprobes_asm.S kprobes: add testcases for s390 2021-10-04 09:49:37 +02:00
test_modules.c s390/module: fix building test_modules_helpers.o with clang 2022-02-06 23:30:37 +01:00
test_modules.h s390/module: fix building test_modules_helpers.o with clang 2022-02-06 23:30:37 +01:00
test_modules_helpers.c s390/module: test loading modules with a lot of relocations 2022-01-24 09:10:59 +01:00
test_unwind.c s390/nmi: implement and use local_mcck_save() / local_mcck_restore() 2023-12-11 14:33:05 +01:00
tishift.S s390: replace #include <asm/export.h> with #include <linux/export.h> 2023-08-09 15:20:50 +02:00
uaccess.c s390/ctlreg: add struct ctlreg 2023-09-19 13:26:56 +02:00
xor.c lib/xor: make xor prototypes more friendly to compiler vectorization 2022-02-11 20:39:39 +11:00