]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
cg: get attribute for requested controller in cg_is_empty
authorLuca Boccassi <luca.boccassi@gmail.com>
Thu, 31 Jul 2025 21:05:57 +0000 (22:05 +0100)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Thu, 31 Jul 2025 23:02:57 +0000 (08:02 +0900)
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

src/basic/cgroup-util.c
src/test/test-cgroup.c

index 0dc13bc958cd40d011776667316fac79f0d68987..6b84cc48c648579ff190b86109253ed4240b5968 100644 (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)
index 77f720fd2d1c9c1f3cab70afcae170fed871ee37..d32b119d26cbdf3c0a9176274fb37ee725ab86b3 100644 (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));