mirror of https://gitee.com/openkylin/linux.git
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
|
@ -714,9 +714,8 @@ END(ptregscall_common)
|
|||
|
||||
ENTRY(stub_execve)
|
||||
CFI_STARTPROC
|
||||
popq %r11
|
||||
CFI_ADJUST_CFA_OFFSET -8
|
||||
CFI_REGISTER rip, r11
|
||||
addq $8, %rsp
|
||||
PARTIAL_FRAME 0
|
||||
SAVE_REST
|
||||
FIXUP_TOP_OF_STACK %r11
|
||||
movq %rsp, %rcx
|
||||
|
@ -735,7 +734,7 @@ END(stub_execve)
|
|||
ENTRY(stub_rt_sigreturn)
|
||||
CFI_STARTPROC
|
||||
addq $8, %rsp
|
||||
CFI_ADJUST_CFA_OFFSET -8
|
||||
PARTIAL_FRAME 0
|
||||
SAVE_REST
|
||||
movq %rsp,%rdi
|
||||
FIXUP_TOP_OF_STACK %r11
|
||||
|
@ -1445,7 +1444,6 @@ error_swapgs:
|
|||
error_sti:
|
||||
TRACE_IRQS_OFF
|
||||
ret
|
||||
CFI_ENDPROC
|
||||
|
||||
/*
|
||||
* There are two places in the kernel that can potentially fault with
|
||||
|
@ -1470,6 +1468,7 @@ bstep_iret:
|
|||
/* Fix truncated RIP */
|
||||
movq %rcx,RIP+8(%rsp)
|
||||
jmp error_swapgs
|
||||
CFI_ENDPROC
|
||||
END(error_entry)
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue