Commit ce4dda3f authored by Martin Schwidefsky's avatar Martin Schwidefsky

s390: fix machine check panic stack switch

For system damage machine checks or machine checks due to invalid PSW
fields the system will be stopped. In order to get an oops message out
before killing the system the machine check handler branches to
.Lmcck_panic, switches to the panic stack and then does the usual
machine check handling.

The switch to the panic stack is incomplete, the stack pointer in %r15
is replaced, but the pt_regs pointer in %r11 is not. The result is
a program check which will kill the system in a slightly different way.
Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
parent db7ad636
...@@ -958,7 +958,7 @@ ENTRY(mcck_int_handler) ...@@ -958,7 +958,7 @@ ENTRY(mcck_int_handler)
.Lmcck_panic: .Lmcck_panic:
lg %r15,__LC_PANIC_STACK lg %r15,__LC_PANIC_STACK
aghi %r15,-(STACK_FRAME_OVERHEAD + __PT_SIZE) la %r11,STACK_FRAME_OVERHEAD(%r15)
j .Lmcck_skip j .Lmcck_skip
# #
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment