call schedule_tail
GET_THREAD_INFO(%ebp)
popl %eax
+ pushl $0x0202 # Reset kernel eflags
+ popfl
jmp syscall_exit
/*
pushl %ebp
pushfl
pushl $(__USER_CS)
- /*
- * Push current_thread_info()->sysenter_return to the stack.
- * A tiny bit of offset fixup is necessary - 4*4 means the 4 words
- * pushed above; +8 corresponds to copy_thread's esp0 setting.
- */
- pushl (TI_sysenter_return-THREAD_SIZE+8+4*4)(%esp)
+ pushl $SYSENTER_RETURN
+
/*
* Load the potential sixth argument from user stack.
* Careful about security.
pushl %eax # save orig_eax
SAVE_ALL
GET_THREAD_INFO(%ebp)
- testl $TF_MASK,EFLAGS(%esp)
- jz no_singlestep
- orl $_TIF_SINGLESTEP,TI_flags(%ebp)
-no_singlestep:
# system call tracing in operation / emulation
/* Note, _TIF_SECCOMP is bit number 8, and so it needs testw and not testb */
testw $(_TIF_SYSCALL_EMU|_TIF_SYSCALL_TRACE|_TIF_SECCOMP|_TIF_SYSCALL_AUDIT),TI_flags(%ebp)