We do ida_simple_get on root->cgroup_ida, just before checking subgroups_limit, and in case subgroups_limit is reached we don't do corresponding ida_simple_remove to free id. Let's fix it by jumping to proper goto label err_free_id.
This may or may not be related to [1], found while investigating it. https://jira.vzint.dev/browse/PSBM-147036 [1] Fixes: 92faf0fad3e3 ("ve/cgroups: Introduce subgroups_limit control") Signed-off-by: Pavel Tikhomirov <ptikhomi...@virtuozzo.com> --- kernel/cgroup.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/kernel/cgroup.c b/kernel/cgroup.c index f2952d7c18dc..3f8c49b9ebe0 100644 --- a/kernel/cgroup.c +++ b/kernel/cgroup.c @@ -4888,7 +4888,7 @@ static long cgroup_create(struct cgroup *parent, struct dentry *dentry, if (ve_root && ve_root->subgroups_limit > 0 && subgroups_count(ve_root) >= ve_root->subgroups_limit) { err = -EACCES; - goto err_free_name; + goto err_free_id; } /* -- 2.39.2 _______________________________________________ Devel mailing list Devel@openvz.org https://lists.openvz.org/mailman/listinfo/devel