|
@@ -104,6 +104,7 @@ ENTRY(ia32_sysenter_target)
|
|
|
.quad 1b,ia32_badarg
|
|
|
.previous
|
|
|
GET_THREAD_INFO(%r10)
|
|
|
+ orl $TS_COMPAT,threadinfo_status(%r10)
|
|
|
testl $(_TIF_SYSCALL_TRACE|_TIF_SYSCALL_AUDIT|_TIF_SECCOMP),threadinfo_flags(%r10)
|
|
|
CFI_REMEMBER_STATE
|
|
|
jnz sysenter_tracesys
|
|
@@ -117,6 +118,7 @@ sysenter_do_call:
|
|
|
cli
|
|
|
testl $_TIF_ALLWORK_MASK,threadinfo_flags(%r10)
|
|
|
jnz int_ret_from_sys_call
|
|
|
+ andl $~TS_COMPAT,threadinfo_status(%r10)
|
|
|
/* clear IF, that popfq doesn't enable interrupts early */
|
|
|
andl $~0x200,EFLAGS-R11(%rsp)
|
|
|
RESTORE_ARGS 1,24,1,1,1,1
|
|
@@ -203,6 +205,7 @@ ENTRY(ia32_cstar_target)
|
|
|
.quad 1b,ia32_badarg
|
|
|
.previous
|
|
|
GET_THREAD_INFO(%r10)
|
|
|
+ orl $TS_COMPAT,threadinfo_status(%r10)
|
|
|
testl $(_TIF_SYSCALL_TRACE|_TIF_SYSCALL_AUDIT|_TIF_SECCOMP),threadinfo_flags(%r10)
|
|
|
CFI_REMEMBER_STATE
|
|
|
jnz cstar_tracesys
|
|
@@ -216,6 +219,7 @@ cstar_do_call:
|
|
|
cli
|
|
|
testl $_TIF_ALLWORK_MASK,threadinfo_flags(%r10)
|
|
|
jnz int_ret_from_sys_call
|
|
|
+ andl $~TS_COMPAT,threadinfo_status(%r10)
|
|
|
RESTORE_ARGS 1,-ARG_SKIP,1,1,1
|
|
|
movl RIP-ARGOFFSET(%rsp),%ecx
|
|
|
CFI_REGISTER rip,rcx
|
|
@@ -288,6 +292,7 @@ ENTRY(ia32_syscall)
|
|
|
this could be a problem. */
|
|
|
SAVE_ARGS 0,0,1
|
|
|
GET_THREAD_INFO(%r10)
|
|
|
+ orl $TS_COMPAT,threadinfo_status(%r10)
|
|
|
testl $(_TIF_SYSCALL_TRACE|_TIF_SYSCALL_AUDIT|_TIF_SECCOMP),threadinfo_flags(%r10)
|
|
|
jnz ia32_tracesys
|
|
|
ia32_do_syscall:
|