mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-11-25 08:30:54 +07:00
i386: Add unwind directives to syscall ptregs stubs
When these stubs are actual functions (i.e. having a return instruction) and have stack manipulation instructions in them, they should also be annotated to allow unwinding through them. Signed-off-by: Jan Beulich <jbeulich@novell.com> Acked-by: Alexander van Heukelum <heukelum@fastmail.fm> LKML-Reference: <4C7FBCF00200007800013F99@vpn.id2.novell.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
parent
b1cccb1bb0
commit
a34107b557
@ -750,14 +750,18 @@ ptregs_##name: \
|
||||
#define PTREGSCALL3(name) \
|
||||
ALIGN; \
|
||||
ptregs_##name: \
|
||||
CFI_STARTPROC; \
|
||||
leal 4(%esp),%eax; \
|
||||
pushl %eax; \
|
||||
pushl_cfi %eax; \
|
||||
movl PT_EDX(%eax),%ecx; \
|
||||
movl PT_ECX(%eax),%edx; \
|
||||
movl PT_EBX(%eax),%eax; \
|
||||
call sys_##name; \
|
||||
addl $4,%esp; \
|
||||
ret
|
||||
CFI_ADJUST_CFA_OFFSET -4; \
|
||||
ret; \
|
||||
CFI_ENDPROC; \
|
||||
ENDPROC(ptregs_##name)
|
||||
|
||||
PTREGSCALL1(iopl)
|
||||
PTREGSCALL0(fork)
|
||||
@ -772,15 +776,19 @@ PTREGSCALL1(vm86old)
|
||||
/* Clone is an oddball. The 4th arg is in %edi */
|
||||
ALIGN;
|
||||
ptregs_clone:
|
||||
CFI_STARTPROC
|
||||
leal 4(%esp),%eax
|
||||
pushl %eax
|
||||
pushl PT_EDI(%eax)
|
||||
pushl_cfi %eax
|
||||
pushl_cfi PT_EDI(%eax)
|
||||
movl PT_EDX(%eax),%ecx
|
||||
movl PT_ECX(%eax),%edx
|
||||
movl PT_EBX(%eax),%eax
|
||||
call sys_clone
|
||||
addl $8,%esp
|
||||
CFI_ADJUST_CFA_OFFSET -8
|
||||
ret
|
||||
CFI_ENDPROC
|
||||
ENDPROC(ptregs_clone)
|
||||
|
||||
.macro FIXUP_ESPFIX_STACK
|
||||
/*
|
||||
|
Loading…
Reference in New Issue
Block a user