Lines Matching refs:ti_work
45 unsigned long ti_work) in syscall_trace_enter() argument
50 if (ti_work & (_TIF_SYSCALL_TRACE | _TIF_SYSCALL_EMU)) { in syscall_trace_enter()
52 if (ret || (ti_work & _TIF_SYSCALL_EMU)) in syscall_trace_enter()
57 if (ti_work & _TIF_SECCOMP) { in syscall_trace_enter()
66 if (unlikely(ti_work & _TIF_SYSCALL_TRACEPOINT)) in syscall_trace_enter()
77 unsigned long ti_work; in __syscall_enter_from_user_work() local
79 ti_work = READ_ONCE(current_thread_info()->flags); in __syscall_enter_from_user_work()
80 if (ti_work & SYSCALL_ENTER_WORK) in __syscall_enter_from_user_work()
81 syscall = syscall_trace_enter(regs, syscall, ti_work); in __syscall_enter_from_user_work()
140 static void handle_signal_work(struct pt_regs *regs, unsigned long ti_work) in handle_signal_work() argument
142 if (ti_work & _TIF_NOTIFY_SIGNAL) in handle_signal_work()
145 arch_do_signal_or_restart(regs, ti_work & _TIF_SIGPENDING); in handle_signal_work()
149 unsigned long ti_work) in exit_to_user_mode_loop() argument
155 while (ti_work & EXIT_TO_USER_MODE_WORK) { in exit_to_user_mode_loop()
157 local_irq_enable_exit_to_user(ti_work); in exit_to_user_mode_loop()
159 if (ti_work & _TIF_NEED_RESCHED) in exit_to_user_mode_loop()
162 if (ti_work & _TIF_UPROBE) in exit_to_user_mode_loop()
165 if (ti_work & _TIF_PATCH_PENDING) in exit_to_user_mode_loop()
168 if (ti_work & (_TIF_SIGPENDING | _TIF_NOTIFY_SIGNAL)) in exit_to_user_mode_loop()
169 handle_signal_work(regs, ti_work); in exit_to_user_mode_loop()
171 if (ti_work & _TIF_NOTIFY_RESUME) { in exit_to_user_mode_loop()
177 arch_exit_to_user_mode_work(regs, ti_work); in exit_to_user_mode_loop()
185 ti_work = READ_ONCE(current_thread_info()->flags); in exit_to_user_mode_loop()
189 return ti_work; in exit_to_user_mode_loop()
194 unsigned long ti_work = READ_ONCE(current_thread_info()->flags); in exit_to_user_mode_prepare() local
198 if (unlikely(ti_work & EXIT_TO_USER_MODE_WORK)) in exit_to_user_mode_prepare()
199 ti_work = exit_to_user_mode_loop(regs, ti_work); in exit_to_user_mode_prepare()
201 arch_exit_to_user_mode_prepare(regs, ti_work); in exit_to_user_mode_prepare()
210 static inline bool report_single_step(unsigned long ti_work) in report_single_step() argument
222 static inline bool report_single_step(unsigned long ti_work) in report_single_step() argument
224 return (ti_work & SYSEMU_STEP) == _TIF_SINGLESTEP; in report_single_step()
228 static void syscall_exit_work(struct pt_regs *regs, unsigned long ti_work) in syscall_exit_work() argument
234 if (ti_work & _TIF_SYSCALL_TRACEPOINT) in syscall_exit_work()
237 step = report_single_step(ti_work); in syscall_exit_work()
238 if (step || ti_work & _TIF_SYSCALL_TRACE) in syscall_exit_work()