Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3854a771 authored by Oleg Nesterov's avatar Oleg Nesterov Committed by Linus Torvalds
Browse files

__exit_signal: don't take rcu lock



There is no reason for rcu_read_lock() in __exit_signal().  tsk->sighand
can only be changed if tsk does exec, obviously this is not possible.

Signed-off-by: default avatarOleg Nesterov <oleg@tv-sign.ru>
Cc: Roland McGrath <roland@redhat.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 100360f0
Loading
Loading
Loading
Loading
+0 −2
Original line number Diff line number Diff line
@@ -85,7 +85,6 @@ static void __exit_signal(struct task_struct *tsk)
	BUG_ON(!sig);
	BUG_ON(!atomic_read(&sig->count));

	rcu_read_lock();
	sighand = rcu_dereference(tsk->sighand);
	spin_lock(&sighand->siglock);

@@ -136,7 +135,6 @@ static void __exit_signal(struct task_struct *tsk)
	tsk->signal = NULL;
	tsk->sighand = NULL;
	spin_unlock(&sighand->siglock);
	rcu_read_unlock();

	__cleanup_sighand(sighand);
	clear_tsk_thread_flag(tsk,TIF_SIGPENDING);