|
@@ -85,7 +85,6 @@ static void __exit_signal(struct task_struct *tsk)
|
|
BUG_ON(!sig);
|
|
BUG_ON(!sig);
|
|
BUG_ON(!atomic_read(&sig->count));
|
|
BUG_ON(!atomic_read(&sig->count));
|
|
|
|
|
|
- rcu_read_lock();
|
|
|
|
sighand = rcu_dereference(tsk->sighand);
|
|
sighand = rcu_dereference(tsk->sighand);
|
|
spin_lock(&sighand->siglock);
|
|
spin_lock(&sighand->siglock);
|
|
|
|
|
|
@@ -136,7 +135,6 @@ static void __exit_signal(struct task_struct *tsk)
|
|
tsk->signal = NULL;
|
|
tsk->signal = NULL;
|
|
tsk->sighand = NULL;
|
|
tsk->sighand = NULL;
|
|
spin_unlock(&sighand->siglock);
|
|
spin_unlock(&sighand->siglock);
|
|
- rcu_read_unlock();
|
|
|
|
|
|
|
|
__cleanup_sighand(sighand);
|
|
__cleanup_sighand(sighand);
|
|
clear_tsk_thread_flag(tsk,TIF_SIGPENDING);
|
|
clear_tsk_thread_flag(tsk,TIF_SIGPENDING);
|