cgroup: Check task_lock in task_subsys_state()
authorLi Zefan <lizf@cn.fujitsu.com>
Fri, 23 Apr 2010 02:35:52 +0000 (10:35 +0800)
committerPaul E. McKenney <paulmck@linux.vnet.ibm.com>
Tue, 4 May 2010 16:25:02 +0000 (09:25 -0700)
commit1ce7e4ff24fe338438bc7837e02780f202bf202b
tree3906643ba96ba8b3fda2291e5e40e48bbba9085f
parentb629317e66fb1c6066c550dded45ab85a936163c
cgroup: Check task_lock in task_subsys_state()

Expand task_subsys_state()'s rcu_dereference_check() to include the full
locking rule as documented in Documentation/cgroups/cgroups.txt by adding
a check for task->alloc_lock being held.

This fixes an RCU false positive when resuming from suspend. The warning
comes from freezer cgroup in cgroup_freezing_or_frozen().

Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
Acked-by: Matt Helsley <matthltc@us.ibm.com>
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
include/linux/cgroup.h