|
@@ -611,11 +611,16 @@ ENDPROC(cpu_switch_to)
|
|
|
*/
|
|
|
ret_fast_syscall:
|
|
|
disable_irq // disable interrupts
|
|
|
- ldr x1, [tsk, #TI_FLAGS]
|
|
|
+ ldr x1, [tsk, #TI_FLAGS] // re-check for syscall tracing
|
|
|
+ and x2, x1, #_TIF_SYSCALL_WORK
|
|
|
+ cbnz x2, ret_fast_syscall_trace
|
|
|
and x2, x1, #_TIF_WORK_MASK
|
|
|
cbnz x2, fast_work_pending
|
|
|
enable_step_tsk x1, x2
|
|
|
kernel_exit 0, ret = 1
|
|
|
+ret_fast_syscall_trace:
|
|
|
+ enable_irq // enable interrupts
|
|
|
+ b __sys_trace_return
|
|
|
|
|
|
/*
|
|
|
* Ok, we need to do extra processing, enter the slow path.
|