x86-64: Fix unwind annotations in syscall stubs
With the return address removed from the stack, these should really refer to their caller's register state. Signed-off-by: Jan Beulich <jbeulich@novell.com> Acked-by: Alexander van Heukelum <heukelum@fastmail.fm> LKML-Reference: <4C7FBA3D0200007800013F61@vpn.id2.novell.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
parent
2bfc96a127
commit
e6b04b6b5a
1 changed files with 4 additions and 5 deletions
|
@ -714,9 +714,8 @@ END(ptregscall_common)
|
||||||
|
|
||||||
ENTRY(stub_execve)
|
ENTRY(stub_execve)
|
||||||
CFI_STARTPROC
|
CFI_STARTPROC
|
||||||
popq %r11
|
addq $8, %rsp
|
||||||
CFI_ADJUST_CFA_OFFSET -8
|
PARTIAL_FRAME 0
|
||||||
CFI_REGISTER rip, r11
|
|
||||||
SAVE_REST
|
SAVE_REST
|
||||||
FIXUP_TOP_OF_STACK %r11
|
FIXUP_TOP_OF_STACK %r11
|
||||||
movq %rsp, %rcx
|
movq %rsp, %rcx
|
||||||
|
@ -735,7 +734,7 @@ END(stub_execve)
|
||||||
ENTRY(stub_rt_sigreturn)
|
ENTRY(stub_rt_sigreturn)
|
||||||
CFI_STARTPROC
|
CFI_STARTPROC
|
||||||
addq $8, %rsp
|
addq $8, %rsp
|
||||||
CFI_ADJUST_CFA_OFFSET -8
|
PARTIAL_FRAME 0
|
||||||
SAVE_REST
|
SAVE_REST
|
||||||
movq %rsp,%rdi
|
movq %rsp,%rdi
|
||||||
FIXUP_TOP_OF_STACK %r11
|
FIXUP_TOP_OF_STACK %r11
|
||||||
|
@ -1445,7 +1444,6 @@ error_swapgs:
|
||||||
error_sti:
|
error_sti:
|
||||||
TRACE_IRQS_OFF
|
TRACE_IRQS_OFF
|
||||||
ret
|
ret
|
||||||
CFI_ENDPROC
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* There are two places in the kernel that can potentially fault with
|
* There are two places in the kernel that can potentially fault with
|
||||||
|
@ -1470,6 +1468,7 @@ bstep_iret:
|
||||||
/* Fix truncated RIP */
|
/* Fix truncated RIP */
|
||||||
movq %rcx,RIP+8(%rsp)
|
movq %rcx,RIP+8(%rsp)
|
||||||
jmp error_swapgs
|
jmp error_swapgs
|
||||||
|
CFI_ENDPROC
|
||||||
END(error_entry)
|
END(error_entry)
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue