return r;
}
-void unit_invalidate_cgroup(Unit *u, CGroupMask m) {
+bool unit_invalidate_cgroup(Unit *u, CGroupMask m) {
assert(u);
if (!UNIT_HAS_CGROUP_CONTEXT(u))
- return;
+ return false;
CGroupRuntime *crt = unit_get_cgroup_runtime(u);
if (!crt)
- return;
+ return false;
if (FLAGS_SET(crt->cgroup_invalidated_mask, m)) /* NOP? */
- return;
+ return false;
crt->cgroup_invalidated_mask |= m;
unit_add_to_cgroup_realize_queue(u);
+
+ return true;
}
-void unit_invalidate_cgroup_bpf(Unit *u) {
+void unit_invalidate_cgroup_bpf_firewall(Unit *u) {
assert(u);
- if (!UNIT_HAS_CGROUP_CONTEXT(u))
- return;
-
- CGroupRuntime *crt = unit_get_cgroup_runtime(u);
- if (!crt)
- return;
-
- if (crt->cgroup_invalidated_mask & CGROUP_MASK_BPF_FIREWALL) /* NOP? */
+ if (!unit_invalidate_cgroup(u, CGROUP_MASK_BPF_FIREWALL))
return;
- crt->cgroup_invalidated_mask |= CGROUP_MASK_BPF_FIREWALL;
- unit_add_to_cgroup_realize_queue(u);
-
/* If we are a slice unit, we also need to put compile a new BPF program for all our children, as the IP access
* list of our children includes our own. */
if (u->type == UNIT_SLICE) {
Unit *member;
UNIT_FOREACH_DEPENDENCY(member, u, UNIT_ATOM_SLICE_OF)
- unit_invalidate_cgroup_bpf(member);
+ unit_invalidate_cgroup_bpf_firewall(member);
}
}
bool unit_has_startup_cgroup_constraints(Unit *u);
-void unit_invalidate_cgroup(Unit *u, CGroupMask m);
-void unit_invalidate_cgroup_bpf(Unit *u);
+bool unit_invalidate_cgroup(Unit *u, CGroupMask m);
+void unit_invalidate_cgroup_bpf_firewall(Unit *u);
void manager_invalidate_startup_units(Manager *m);
if (n == 0)
*filters = strv_free(*filters);
- unit_invalidate_cgroup_bpf(u);
+ unit_invalidate_cgroup_bpf_firewall(u);
f = memstream_init(&m);
if (!f)
if (!UNIT_WRITE_FLAGS_NOOP(flags)) {
c->ip_accounting = b;
- unit_invalidate_cgroup_bpf(u);
+ unit_invalidate_cgroup_bpf_firewall(u);
unit_write_settingf(u, flags, name, "IPAccounting=%s", yes_no(b));
}
bool *reduced;
FILE *f;
- unit_invalidate_cgroup_bpf(u);
+ unit_invalidate_cgroup_bpf_firewall(u);
f = memstream_init(&m);
if (!f)
unit_release_cgroup(u, /* drop_cgroup_runtime = */ false);
else {
unit_invalidate_cgroup(u, _CGROUP_MASK_ALL);
- unit_invalidate_cgroup_bpf(u);
+ unit_invalidate_cgroup_bpf_firewall(u);
}
}