Searched hist:"88 c2510c" (Results 1 – 1 of 1) sorted by relevance
/openbmc/linux/arch/s390/boot/ |
H A D | ipl_parm.c | 88c2510c Mon Jun 14 07:49:31 CDT 2021 Heiko Carstens <hca@linux.ibm.com> s390/ipl_parm: fix program check new psw handling
The __diag308() 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>
|