linux/arch/s390/boot
Heiko Carstens da90575767 s390/mem_detect: fix tprot() program check new psw handling
The tprot() 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>
2021-06-18 16:41:24 +02:00
..
compressed s390/boot: add zstd support 2021-06-18 16:41:22 +02:00
.gitignore .gitignore: add SPDX License Identifier 2020-03-25 11:50:48 +01:00
als.c s390/facilities: move stfl information from lowcore to global data 2021-06-07 17:06:58 +02:00
boot.h s390: setup kernel memory layout early 2021-06-18 16:41:19 +02:00
cmdline.c
ctype.c
ebcdic.c
head_kdump.S s390/decompressor: correct some asm symbols annotations 2020-11-20 19:19:11 +01:00
head.S s390/ipl: make parameter area accessible via struct parmarea 2021-06-07 17:06:59 +02:00
install.sh s390/arch: install kernels with their proper version ID 2020-02-19 17:27:24 +01:00
ipl_parm.c s390/ipl_parm: use register pair instead of register asm 2021-06-18 16:41:23 +02:00
ipl_report.c
ipl_vmparm.c
kaslr.c s390: unify identity mapping limits handling 2020-11-20 19:19:10 +01:00
machine_kexec_reloc.c
Makefile s390/boot: enable .bss section for compressed kernel 2020-09-16 14:08:47 +02:00
mem_detect.c s390/mem_detect: fix tprot() program check new psw handling 2021-06-18 16:41:24 +02:00
mem.S
pgm_check_info.c s390/decompressor: print cmdline and BEAR on pgm_check 2020-11-20 19:19:11 +01:00
sclp_early_core.c
startup.c s390: setup kernel memory layout early 2021-06-18 16:41:19 +02:00
string.c kasan, x86, s390: update undef CONFIG_KASAN 2020-12-22 12:55:08 -08:00
text_dma.S s390: remove unused _swsusp_reset_dma 2020-09-29 15:00:58 +02:00
uv.c s390: setup kernel memory layout early 2021-06-18 16:41:19 +02:00
version.c s390: enable detection of kernel version from bzImage 2019-07-23 10:43:50 +02:00