From 6782b4b23fd6e8ce3b7ef577ffefbeda288da94b Mon Sep 17 00:00:00 2001 From: Christian Brauner Date: Sun, 8 Dec 2019 00:27:22 +0100 Subject: [PATCH] cgroups/cgfsng: rework cgfsng_setup_limits_legacy() Signed-off-by: Christian Brauner --- src/lxc/cgroups/cgfsng.c | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/src/lxc/cgroups/cgfsng.c b/src/lxc/cgroups/cgfsng.c index 46977cee8..14a72f183 100644 --- a/src/lxc/cgroups/cgfsng.c +++ b/src/lxc/cgroups/cgfsng.c @@ -2664,11 +2664,18 @@ __cgfsng_ops static bool cgfsng_setup_limits_legacy(struct cgroup_ops *ops, struct lxc_cgroup *cg; bool ret = false; + if (!ops) + return ret_set_errno(false, ENOENT); + + if (!conf) + return ret_set_errno(false, EINVAL); + + cgroup_settings = &conf->cgroup; if (lxc_list_empty(cgroup_settings)) return true; if (!ops->hierarchies) - return false; + return ret_set_errno(false, EINVAL); sorted_cgroup_settings = sort_cgroup_settings(cgroup_settings); if (!sorted_cgroup_settings) @@ -2679,14 +2686,13 @@ __cgfsng_ops static bool cgfsng_setup_limits_legacy(struct cgroup_ops *ops, if (do_devices == !strncmp("devices", cg->subsystem, 7)) { if (cg_legacy_set_data(ops, cg->subsystem, cg->value)) { - if (do_devices && (errno == EACCES || errno == EPERM)) { - WARN("Failed to set \"%s\" to \"%s\"", - cg->subsystem, cg->value); - continue; - } - WARN("Failed to set \"%s\" to \"%s\"", - cg->subsystem, cg->value); - goto out; + if (do_devices && (errno == EACCES || errno == EPERM)) + log_warn_errno(continue, + errno, "Failed to set \"%s\" to \"%s\"", + cg->subsystem, cg->value); + log_warn_errno(goto out, errno, + "Failed to set \"%s\" to \"%s\"", + cg->subsystem, cg->value); } DEBUG("Set controller \"%s\" set to \"%s\"", cg->subsystem, cg->value); -- 2.47.3