kernel: remove checking for TIF_NOTIFY_SIGNAL
[ Upstream commit e296dc4996b8094ccde45d19090d804c4103513e ] It's available everywhere now, no need to check or add dummy defines. Signed-off-by: Jens Axboe <axboe@kernel.dk> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:

committed by
Greg Kroah-Hartman

parent
61bdeb142e
commit
90a2c3821b
@@ -37,10 +37,6 @@
|
|||||||
# define _TIF_UPROBE (0)
|
# define _TIF_UPROBE (0)
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef _TIF_NOTIFY_SIGNAL
|
|
||||||
# define _TIF_NOTIFY_SIGNAL (0)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* TIF flags handled in syscall_enter_from_user_mode()
|
* TIF flags handled in syscall_enter_from_user_mode()
|
||||||
*/
|
*/
|
||||||
|
@@ -361,7 +361,6 @@ static inline int task_sigpending(struct task_struct *p)
|
|||||||
|
|
||||||
static inline int signal_pending(struct task_struct *p)
|
static inline int signal_pending(struct task_struct *p)
|
||||||
{
|
{
|
||||||
#if defined(TIF_NOTIFY_SIGNAL)
|
|
||||||
/*
|
/*
|
||||||
* TIF_NOTIFY_SIGNAL isn't really a signal, but it requires the same
|
* TIF_NOTIFY_SIGNAL isn't really a signal, but it requires the same
|
||||||
* behavior in terms of ensuring that we break out of wait loops
|
* behavior in terms of ensuring that we break out of wait loops
|
||||||
@@ -369,7 +368,6 @@ static inline int signal_pending(struct task_struct *p)
|
|||||||
*/
|
*/
|
||||||
if (unlikely(test_tsk_thread_flag(p, TIF_NOTIFY_SIGNAL)))
|
if (unlikely(test_tsk_thread_flag(p, TIF_NOTIFY_SIGNAL)))
|
||||||
return 1;
|
return 1;
|
||||||
#endif
|
|
||||||
return task_sigpending(p);
|
return task_sigpending(p);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -205,12 +205,10 @@ static inline void tracehook_notify_resume(struct pt_regs *regs)
|
|||||||
*/
|
*/
|
||||||
static inline void tracehook_notify_signal(void)
|
static inline void tracehook_notify_signal(void)
|
||||||
{
|
{
|
||||||
#if defined(TIF_NOTIFY_SIGNAL)
|
|
||||||
clear_thread_flag(TIF_NOTIFY_SIGNAL);
|
clear_thread_flag(TIF_NOTIFY_SIGNAL);
|
||||||
smp_mb__after_atomic();
|
smp_mb__after_atomic();
|
||||||
if (current->task_works)
|
if (current->task_works)
|
||||||
task_work_run();
|
task_work_run();
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -218,11 +216,9 @@ static inline void tracehook_notify_signal(void)
|
|||||||
*/
|
*/
|
||||||
static inline void set_notify_signal(struct task_struct *task)
|
static inline void set_notify_signal(struct task_struct *task)
|
||||||
{
|
{
|
||||||
#if defined(TIF_NOTIFY_SIGNAL)
|
|
||||||
if (!test_and_set_tsk_thread_flag(task, TIF_NOTIFY_SIGNAL) &&
|
if (!test_and_set_tsk_thread_flag(task, TIF_NOTIFY_SIGNAL) &&
|
||||||
!wake_up_state(task, TASK_INTERRUPTIBLE))
|
!wake_up_state(task, TASK_INTERRUPTIBLE))
|
||||||
kick_process(task);
|
kick_process(task);
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* <linux/tracehook.h> */
|
#endif /* <linux/tracehook.h> */
|
||||||
|
@@ -2525,14 +2525,12 @@ bool get_signal(struct ksignal *ksig)
|
|||||||
* that the arch handlers don't all have to do it. If we get here
|
* that the arch handlers don't all have to do it. If we get here
|
||||||
* without TIF_SIGPENDING, just exit after running signal work.
|
* without TIF_SIGPENDING, just exit after running signal work.
|
||||||
*/
|
*/
|
||||||
#ifdef TIF_NOTIFY_SIGNAL
|
|
||||||
if (!IS_ENABLED(CONFIG_GENERIC_ENTRY)) {
|
if (!IS_ENABLED(CONFIG_GENERIC_ENTRY)) {
|
||||||
if (test_thread_flag(TIF_NOTIFY_SIGNAL))
|
if (test_thread_flag(TIF_NOTIFY_SIGNAL))
|
||||||
tracehook_notify_signal();
|
tracehook_notify_signal();
|
||||||
if (!task_sigpending(current))
|
if (!task_sigpending(current))
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
#endif
|
|
||||||
|
|
||||||
if (unlikely(uprobe_deny_signal()))
|
if (unlikely(uprobe_deny_signal()))
|
||||||
return false;
|
return false;
|
||||||
|
Reference in New Issue
Block a user