|
@@ -423,9 +423,10 @@ sysenter_past_esp:
|
|
|
jnz sysenter_audit
|
|
|
sysenter_do_call:
|
|
|
cmpl $(NR_syscalls), %eax
|
|
|
- jae syscall_badsys
|
|
|
+ jae sysenter_badsys
|
|
|
call *sys_call_table(,%eax,4)
|
|
|
movl %eax,PT_EAX(%esp)
|
|
|
+sysenter_after_call:
|
|
|
LOCKDEP_SYS_EXIT
|
|
|
DISABLE_INTERRUPTS(CLBR_ANY)
|
|
|
TRACE_IRQS_OFF
|
|
@@ -675,7 +676,12 @@ END(syscall_fault)
|
|
|
|
|
|
syscall_badsys:
|
|
|
movl $-ENOSYS,PT_EAX(%esp)
|
|
|
- jmp resume_userspace
|
|
|
+ jmp syscall_exit
|
|
|
+END(syscall_badsys)
|
|
|
+
|
|
|
+sysenter_badsys:
|
|
|
+ movl $-ENOSYS,PT_EAX(%esp)
|
|
|
+ jmp sysenter_after_call
|
|
|
END(syscall_badsys)
|
|
|
CFI_ENDPROC
|
|
|
|