]> git.karo-electronics.de Git - karo-tx-linux.git/commit
sched: Use rcu in sched_get/set_affinity()
authorThomas Gleixner <tglx@linutronix.de>
Wed, 9 Dec 2009 10:15:01 +0000 (10:15 +0000)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 20 Sep 2010 20:18:00 +0000 (13:18 -0700)
commitb507f4cadeaf2fb3218d84f7f853535518103f50
treebf9ce2e3038fc89a24336d4b888e75640cceeedf
parentd99be10f68ad49e067e515b53970d53e37ea8b15
sched: Use rcu in sched_get/set_affinity()

commit 23f5d142519621b16cf2b378cf8adf4dcf01a616 upstream

tasklist_lock is held read locked to protect the
find_task_by_vpid() call and to prevent the task going away.
sched_setaffinity acquires a task struct ref and drops tasklist
lock right away. The access to the cpus_allowed mask is
protected by rq->lock.

rcu_read_lock() provides the same protection here.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Peter Zijlstra <peterz@infradead.org>
LKML-Reference: <20091209100706.789059966@linutronix.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Mike Galbraith <efault@gmx.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
kernel/sched.c