.. | .. |
---|
2 | 2 | |
---|
3 | 3 | #include <linux/context_tracking.h> |
---|
4 | 4 | #include <linux/entry-common.h> |
---|
5 | | -#include <linux/highmem.h> |
---|
6 | 5 | #include <linux/livepatch.h> |
---|
7 | 6 | #include <linux/audit.h> |
---|
8 | 7 | |
---|
.. | .. |
---|
157 | 156 | |
---|
158 | 157 | local_irq_enable_exit_to_user(ti_work); |
---|
159 | 158 | |
---|
160 | | - if (ti_work & _TIF_NEED_RESCHED_MASK) |
---|
| 159 | + if (ti_work & _TIF_NEED_RESCHED) |
---|
161 | 160 | schedule(); |
---|
162 | | - |
---|
163 | | -#ifdef ARCH_RT_DELAYS_SIGNAL_SEND |
---|
164 | | - if (unlikely(current->forced_info.si_signo)) { |
---|
165 | | - struct task_struct *t = current; |
---|
166 | | - force_sig_info(&t->forced_info); |
---|
167 | | - t->forced_info.si_signo = 0; |
---|
168 | | - } |
---|
169 | | -#endif |
---|
170 | 161 | |
---|
171 | 162 | if (ti_work & _TIF_UPROBE) |
---|
172 | 163 | uprobe_notify_resume(regs); |
---|
.. | .. |
---|
211 | 202 | |
---|
212 | 203 | /* Ensure that the address limit is intact and no locks are held */ |
---|
213 | 204 | addr_limit_user_check(); |
---|
214 | | - kmap_assert_nomap(); |
---|
215 | 205 | lockdep_assert_irqs_disabled(); |
---|
216 | 206 | lockdep_sys_exit(); |
---|
217 | 207 | } |
---|
.. | .. |
---|
371 | 361 | rcu_irq_exit_check_preempt(); |
---|
372 | 362 | if (IS_ENABLED(CONFIG_DEBUG_ENTRY)) |
---|
373 | 363 | WARN_ON_ONCE(!on_thread_stack()); |
---|
374 | | - if (should_resched(0)) |
---|
| 364 | + if (need_resched()) |
---|
375 | 365 | preempt_schedule_irq(); |
---|
376 | 366 | } |
---|
377 | 367 | } |
---|