diff options
author | Vasily Gorbik <gor@linux.ibm.com> | 2019-11-22 12:47:52 +0100 |
---|---|---|
committer | Vasily Gorbik <gor@linux.ibm.com> | 2019-11-30 10:52:45 +0100 |
commit | 7579425777c0d802237e0d59ae395e8cf60723e1 (patch) | |
tree | 078c05f1f27abf642cfc33b6987ff7cadd39266a /arch/x86/purgatory | |
parent | s390/unwind: unify task is current checks (diff) | |
download | linux-7579425777c0d802237e0d59ae395e8cf60723e1.tar.xz linux-7579425777c0d802237e0d59ae395e8cf60723e1.zip |
s390: correct CALL_ON_STACK back_chain saving
Currently CALL_ON_STACK saves r15 as back_chain in the first stack frame of
the stack we about to switch to. But if a function which uses CALL_ON_STACK
calls other function it allocates a stack frame for a callee. In this
case r15 is pointing to a callee stack frame and not a stack frame of
function itself. This results in dummy unwinding entry with random
sp and ip values.
Introduce and utilize current_frame_address macro to get an address of
actual function stack frame.
Reviewed-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
Diffstat (limited to 'arch/x86/purgatory')
0 files changed, 0 insertions, 0 deletions