X-Git-Url: https://git.kernel.dk/?a=blobdiff_plain;f=kernel%2Fcgroup_freezer.c;h=e5c0244962b020ab3cd4e4d00a0be04e5cc18af5;hb=b57f95a38233a2e73b679bea4a5453a1cc2a1cc9;hp=da5e139755319aa9a554a57ac699470144dcf055;hpb=6c9ae016a8e2aff931391d3baa9ce6cb0ffa633c;p=linux-2.6-block.git diff --git a/kernel/cgroup_freezer.c b/kernel/cgroup_freezer.c index da5e13975531..e5c0244962b0 100644 --- a/kernel/cgroup_freezer.c +++ b/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