From: Luca Boccassi Date: Tue, 30 Nov 2021 23:49:33 +0000 (+0000) Subject: cgroup: don't emit BPF firewall warning when manager is in test mode X-Git-Tag: v250-rc1~96^2~1 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=a42232a18c5716f69efc67c779dd2ef6c4b9d6c2;p=thirdparty%2Fsystemd.git cgroup: don't emit BPF firewall warning when manager is in test mode Support for BPF might not have been checked, since it's not necessary in test mode (eg: running offline analysis of units). This causes an assert: Assertion '(_error) != 0' failed at src/core/bpf-firewall.c:914, function emit_bpf_firewall_warning(). Aborting. Export SYSTEMD_LOG_LEVEl=debug in TEST-65-ANALYZE is enough to trigger this assert while doing an offline analysis of a unit that has some firewall/network restrictions set. Skip the warning if the manager is in test mode. --- diff --git a/src/core/bpf-firewall.c b/src/core/bpf-firewall.c index 2c202f1ea60..8da71805fce 100644 --- a/src/core/bpf-firewall.c +++ b/src/core/bpf-firewall.c @@ -908,7 +908,10 @@ int bpf_firewall_supported(void) { void emit_bpf_firewall_warning(Unit *u) { static bool warned = false; - if (!warned) { + assert(u); + assert(u->manager); + + if (!warned && !MANAGER_IS_TEST_RUN(u->manager)) { bool quiet = bpf_firewall_unsupported_reason == -EPERM && detect_container() > 0; log_unit_full_errno(u, quiet ? LOG_DEBUG : LOG_WARNING, bpf_firewall_unsupported_reason,