summaryrefslogtreecommitdiff
path: root/include/linux/cgroup.h
diff options
context:
space:
mode:
authorLai Jiangshan <laijs@cn.fujitsu.com>2009-01-08 05:07:36 +0300
committerLinus Torvalds <torvalds@linux-foundation.org>2009-01-08 19:31:02 +0300
commit2019f634ce5904c19eba4e86f51b1a119a53a9f1 (patch)
tree040b8645c0627baa0f4e44113589b5a4894ea629 /include/linux/cgroup.h
parentb12b533fa523e94e0cc9dc23274ae4f9439f1313 (diff)
downloadlinux-2019f634ce5904c19eba4e86f51b1a119a53a9f1.tar.xz
cgroups: fix cgroup_iter_next() bug
We access res->cgroups without the task_lock(), so res->cgroups may be changed. it's unreliable, and "if (l == &res->cgroups->tasks)" may be false forever. We don't need add any lock for fixing this bug. we just access to struct css_set by struct cg_cgroup_link, not by struct task_struct. Since we hold css_set_lock, struct cg_cgroup_link is reliable. Signed-off-by: Lai Jiangshan <laijs@cn.fujitsu.com> Reviewed-by: Paul Menage <menage@google.com> Cc: KAMEZAWA Hiroyuki <kamezawa.hiroyu@jp.fujitsu.com> Cc: Pavel Emelyanov <xemul@openvz.org> Cc: Balbir Singh <balbir@in.ibm.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'include/linux/cgroup.h')
0 files changed, 0 insertions, 0 deletions