signal: Fix racy access to __task_cred in kill_pid_info_as_uid()
authorThomas Gleixner <tglx@linutronix.de>
Thu, 10 Dec 2009 00:53:17 +0000 (00:53 +0000)
committerThomas Gleixner <tglx@linutronix.de>
Thu, 10 Dec 2009 22:04:11 +0000 (23:04 +0100)
kill_pid_info_as_uid() accesses __task_cred() without being in a RCU
read side critical section. tasklist_lock is not protecting that when
CONFIG_TREE_PREEMPT_RCU=y.

Convert the whole tasklist_lock section to rcu and use
lock_task_sighand to prevent the exit race.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
LKML-Reference: <20091210004703.232302055@linutronix.de>
Acked-by: Oleg Nesterov <oleg@redhat.com>

No differences found