diff options
-rw-r--r-- | include/linux/cgroup.h | 1 | ||||
-rw-r--r-- | kernel/cgroup.c | 4 |
2 files changed, 2 insertions, 3 deletions
diff --git a/include/linux/cgroup.h b/include/linux/cgroup.h index 08b78c09b09a..f68dfd8dd53a 100644 --- a/include/linux/cgroup.h +++ b/include/linux/cgroup.h | |||
@@ -337,7 +337,6 @@ struct cgroup_subsys { | |||
337 | #define MAX_CGROUP_TYPE_NAMELEN 32 | 337 | #define MAX_CGROUP_TYPE_NAMELEN 32 |
338 | const char *name; | 338 | const char *name; |
339 | 339 | ||
340 | /* Protected by RCU */ | ||
341 | struct cgroupfs_root *root; | 340 | struct cgroupfs_root *root; |
342 | 341 | ||
343 | struct list_head sibling; | 342 | struct list_head sibling; |
diff --git a/kernel/cgroup.c b/kernel/cgroup.c index a391ab3bdfc6..a288da176e46 100644 --- a/kernel/cgroup.c +++ b/kernel/cgroup.c | |||
@@ -713,7 +713,7 @@ static int rebind_subsystems(struct cgroupfs_root *root, | |||
713 | cgrp->subsys[i] = dummytop->subsys[i]; | 713 | cgrp->subsys[i] = dummytop->subsys[i]; |
714 | cgrp->subsys[i]->cgroup = cgrp; | 714 | cgrp->subsys[i]->cgroup = cgrp; |
715 | list_add(&ss->sibling, &root->subsys_list); | 715 | list_add(&ss->sibling, &root->subsys_list); |
716 | rcu_assign_pointer(ss->root, root); | 716 | ss->root = root; |
717 | if (ss->bind) | 717 | if (ss->bind) |
718 | ss->bind(ss, cgrp); | 718 | ss->bind(ss, cgrp); |
719 | 719 | ||
@@ -725,7 +725,7 @@ static int rebind_subsystems(struct cgroupfs_root *root, | |||
725 | ss->bind(ss, dummytop); | 725 | ss->bind(ss, dummytop); |
726 | dummytop->subsys[i]->cgroup = dummytop; | 726 | dummytop->subsys[i]->cgroup = dummytop; |
727 | cgrp->subsys[i] = NULL; | 727 | cgrp->subsys[i] = NULL; |
728 | rcu_assign_pointer(subsys[i]->root, &rootnode); | 728 | subsys[i]->root = &rootnode; |
729 | list_del(&ss->sibling); | 729 | list_del(&ss->sibling); |
730 | } else if (bit & final_bits) { | 730 | } else if (bit & final_bits) { |
731 | /* Subsystem state should already exist */ | 731 | /* Subsystem state should already exist */ |