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 c3f900770d
This commit is contained in:
Luca Boccassi
2025-08-01 08:02:57 +09:00
committed by Yu Watanabe
parent cb88cf9760
commit 24b27a0000
2 changed files with 3 additions and 1 deletions
+1 -1
View File
@@ -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)
+2
View File
@@ -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));