From fc915b9408e92d47b4f3d256b351fb1a4b5a6226 Mon Sep 17 00:00:00 2001 From: "Paul E. McKenney" Date: Wed, 21 Apr 2010 13:02:08 -0700 Subject: [PATCH] --- yaml --- r: 190537 b: refs/heads/master c: 8b46f880841aac821af8efa6581bb0e46b8b9845 h: refs/heads/master i: 190535: f7fdb73b0eeff8c092cbae013d21673307454937 v: v3 --- [refs] | 2 +- trunk/kernel/cgroup_freezer.c | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 6e4810637173..ca10d4f2498b 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 8b08ca52f5942c21564bbb90ccfb61053f2c26a1 +refs/heads/master: 8b46f880841aac821af8efa6581bb0e46b8b9845 diff --git a/trunk/kernel/cgroup_freezer.c b/trunk/kernel/cgroup_freezer.c index da5e13975531..e5c0244962b0 100644 --- a/trunk/kernel/cgroup_freezer.c +++ b/trunk/kernel/cgroup_freezer.c @@ -205,9 +205,12 @@ static void freezer_fork(struct cgroup_subsys *ss, struct task_struct *task) * No lock is needed, since the task isn't on tasklist yet, * so it can't be moved to another cgroup, which means the * freezer won't be removed and will be valid during this - * function call. + * function call. Nevertheless, apply RCU read-side critical + * section to suppress RCU lockdep false positives. */ + rcu_read_lock(); freezer = task_freezer(task); + rcu_read_unlock(); /* * The root cgroup is non-freezable, so we can skip the