lkml.org 
[lkml]   [2010]   [Apr]   [23]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v2.6.34-rc5 11/12] cgroup: Check task_lock in task_subsys_state()
    Date
    From: Li Zefan <lizf@cn.fujitsu.com>

    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 | 1 +
    1 files changed, 1 insertions(+), 0 deletions(-)

    diff --git a/include/linux/cgroup.h b/include/linux/cgroup.h
    index b8ad1ea..8f78073 100644
    --- a/include/linux/cgroup.h
    +++ b/include/linux/cgroup.h
    @@ -530,6 +530,7 @@ static inline struct cgroup_subsys_state *task_subsys_state(
    {
    return rcu_dereference_check(task->cgroups->subsys[subsys_id],
    rcu_read_lock_held() ||
    + lockdep_is_held(&task->alloc_lock) ||
    cgroup_lock_is_held());
    }

    --
    1.7.0


    \
     
     \ /
      Last update: 2010-04-23 21:47    [W:0.023 / U:31.428 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site