|
@@ -402,16 +402,12 @@ sysret_careful:
|
|
sysret_signal:
|
|
sysret_signal:
|
|
TRACE_IRQS_ON
|
|
TRACE_IRQS_ON
|
|
ENABLE_INTERRUPTS(CLBR_NONE)
|
|
ENABLE_INTERRUPTS(CLBR_NONE)
|
|
- testl $_TIF_DO_NOTIFY_MASK,%edx
|
|
|
|
- jz 1f
|
|
|
|
-
|
|
|
|
- /* Really a signal */
|
|
|
|
/* edx: work flags (arg3) */
|
|
/* edx: work flags (arg3) */
|
|
leaq do_notify_resume(%rip),%rax
|
|
leaq do_notify_resume(%rip),%rax
|
|
leaq -ARGOFFSET(%rsp),%rdi # &pt_regs -> arg1
|
|
leaq -ARGOFFSET(%rsp),%rdi # &pt_regs -> arg1
|
|
xorl %esi,%esi # oldset -> arg2
|
|
xorl %esi,%esi # oldset -> arg2
|
|
call ptregscall_common
|
|
call ptregscall_common
|
|
-1: movl $_TIF_WORK_MASK,%edi
|
|
|
|
|
|
+ movl $_TIF_WORK_MASK,%edi
|
|
/* Use IRET because user could have changed frame. This
|
|
/* Use IRET because user could have changed frame. This
|
|
works because ptregscall_common has called FIXUP_TOP_OF_STACK. */
|
|
works because ptregscall_common has called FIXUP_TOP_OF_STACK. */
|
|
DISABLE_INTERRUPTS(CLBR_NONE)
|
|
DISABLE_INTERRUPTS(CLBR_NONE)
|