]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
core/varlink: do not send unrealized cgroups to oomd
authorYu Watanabe <watanabe.yu+github@gmail.com>
Thu, 4 Sep 2025 09:49:21 +0000 (18:49 +0900)
committerYu Watanabe <watanabe.yu+github@gmail.com>
Thu, 4 Sep 2025 10:50:12 +0000 (19:50 +0900)
Follow-ups for 23ac08115af83e3a0a937fa207fc52511aba2ffa.

Since the commit, the cgroup path is set only when it is realized.

Fixes the following varlink IDL validation failure:
```
systemd-oomd[1687]: Varlink-IDL: Mandatory field 'path' is null or missing on object, refusing.
```

src/core/varlink.c

index 8c6b95e31d1d5e43c588ed1f5c7b6fbda7f1846f..22312a11f765cce2ad7742035bc4beed1991a8bc 100644 (file)
@@ -95,6 +95,10 @@ static int build_managed_oom_cgroups_json(Manager *m, sd_json_variant **ret) {
                         if (!c)
                                 continue;
 
+                        CGroupRuntime *crt = unit_get_cgroup_runtime(u);
+                        if (!crt || !crt->cgroup_path)
+                                continue;
+
                         FOREACH_ELEMENT(i, managed_oom_mode_properties) {
                                 _cleanup_(sd_json_variant_unrefp) sd_json_variant *e = NULL;