Эх сурвалжийг харах

cgroup: fix broken css_has_online_children()

After running:

  # mount -t cgroup cpu xxx /cgroup && mkdir /cgroup/sub && \
    rmdir /cgroup/sub && umount /cgroup

I found the cgroup root still existed:

  # cat /proc/cgroups
  #subsys_name    hierarchy       num_cgroups     enabled
  cpuset  0       1       1
  cpu     1       1       1
  ...

It turned out css_has_online_children() is broken.

Signed-off-by: Li Zefan <lizefan@huawei.com>
Sigend-off-by: Tejun Heo <tj@kernel.org>
Li Zefan 11 жил өмнө
parent
commit
99bae5f941
1 өөрчлөгдсөн 1 нэмэгдсэн , 1 устгасан
  1. 1 1
      kernel/cgroup.c

+ 1 - 1
kernel/cgroup.c

@@ -3328,7 +3328,7 @@ bool css_has_online_children(struct cgroup_subsys_state *css)
 
 
 	rcu_read_lock();
 	rcu_read_lock();
 	css_for_each_child(child, css) {
 	css_for_each_child(child, css) {
-		if (css->flags & CSS_ONLINE) {
+		if (child->flags & CSS_ONLINE) {
 			ret = true;
 			ret = true;
 			break;
 			break;
 		}
 		}