cgroup: allocate 2x cgrp_cset_links when setting up a new root
authorTejun Heo <tj@kernel.org>
Thu, 3 Mar 2016 14:58:01 +0000 (09:58 -0500)
committerTejun Heo <tj@kernel.org>
Thu, 3 Mar 2016 14:58:01 +0000 (09:58 -0500)
commit04313591ae487da8b5781a0d8d444073a3fdee0d
treeeb0582020cd0369d8767c813149b9eec7dddde8e
parent5ced2518bd3e3a4f01e2122122211f217cd99f4f
cgroup: allocate 2x cgrp_cset_links when setting up a new root

During prep, cgroup_setup_root() allocates cgrp_cset_links matching
the number of existing css_sets to later link the new root.  This is
fine for now as the only operation which can happen inbetween is
rebind_subsystems() and rebinding of empty subsystems doesn't create
new css_sets.

However, while not yet allowed, with the recent reimplementation,
rebind_subsystems() can rebind subsystems with descendant csses and
thus can create new css_sets.  This patch makes cgroup_setup_root()
allocate 2x of the existing css_sets so that later use of live
subsystem rebinding doesn't blow up.

Signed-off-by: Tejun Heo <tj@kernel.org>
Acked-by: Zefan Li <lizefan@huawei.com>
kernel/cgroup.c