kernel_optimize_test/arch/s390
Heiko Carstens 7e1e0235b3 s390/mem_detect: fix diag260() program check new psw handling
[ Upstream commit 86807f348f418a84970eebb8f9912a7eea16b497 ]

The __diag260() inline asm temporarily changes the program check new
psw to redirect a potential program check on the diag instruction.
Restoring of the program check new psw is done in C code behind the
inline asm.

This can be problematic, especially if the function is inlined, since
the compiler can reorder instructions in such a way that a different
instruction, which may result in a program check, might be executed
before the program check new psw has been restored.

To avoid such a scenario move restoring into the inline asm. For
consistency reasons move also saving of the original program check new
psw into the inline asm.

Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2021-07-20 16:05:44 +02:00
..
appldata
boot s390/mem_detect: fix diag260() program check new psw handling 2021-07-20 16:05:44 +02:00
configs
crypto
hypfs
include s390/processor: always inline stap() and __load_psw_mask() 2021-07-20 16:05:44 +02:00
kernel
kvm
lib
mm
net
oprofile
pci
purgatory
tools
Kbuild
Kconfig
Kconfig.debug
Makefile