From: Luca Boccassi Date: Thu, 31 Jul 2025 21:05:57 +0000 (+0100) Subject: cg: get attribute for requested controller in cg_is_empty X-Git-Tag: v258-rc2~24 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=24b27a00001f1f0703fa5d8d32991ccde1572f77;p=thirdparty%2Fsystemd.git cg: get attribute for requested controller in cg_is_empty This was changed SYSTEMD_CGROUP_CONTROLLER instead of the provided parameter, which broke sd-cgls. Change it back. Fixes https://github.com/systemd/systemd/issues/38426 Follow-up for c3f900770d0cff0cdf89751b614397b5e226194a --- diff --git a/src/basic/cgroup-util.c b/src/basic/cgroup-util.c index 0dc13bc958c..6b84cc48c64 100644 --- a/src/basic/cgroup-util.c +++ b/src/basic/cgroup-util.c @@ -773,7 +773,7 @@ int cg_is_empty(const char *controller, const char *path) { if (empty_or_root(path)) return false; - r = cg_get_keyed_attribute(SYSTEMD_CGROUP_CONTROLLER, path, "cgroup.events", STRV_MAKE("populated"), &t); + r = cg_get_keyed_attribute(controller, path, "cgroup.events", STRV_MAKE("populated"), &t); if (r == -ENOENT) return true; if (r < 0) diff --git a/src/test/test-cgroup.c b/src/test/test-cgroup.c index 77f720fd2d1..d32b119d26c 100644 --- a/src/test/test-cgroup.c +++ b/src/test/test-cgroup.c @@ -103,6 +103,8 @@ TEST(cg_create) { ASSERT_OK_POSITIVE(cg_is_empty(SYSTEMD_CGROUP_CONTROLLER, test_a)); ASSERT_OK_ZERO(cg_is_empty(SYSTEMD_CGROUP_CONTROLLER, test_b)); + ASSERT_OK_POSITIVE(cg_is_empty(NULL, test_a)); + ASSERT_OK_POSITIVE(cg_is_empty(NULL, test_b)); ASSERT_OK_ZERO(cg_kill_recursive(test_a, 0, 0, NULL, NULL, NULL)); ASSERT_OK_POSITIVE(cg_kill_recursive(test_b, 0, 0, NULL, NULL, NULL));