From: Yu Watanabe Date: Mon, 12 Jan 2026 10:46:58 +0000 (+0900) Subject: network: ignore -EINVAL from bpf_get_current_comm() X-Git-Tag: v260-rc1~412 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=9e36307a8a2f852d1533cc5b7ec896cf9acc8761;p=thirdparty%2Fsystemd.git network: ignore -EINVAL from bpf_get_current_comm() Hopefully fixes #40051. --- diff --git a/src/network/bpf/sysctl-monitor/sysctl-monitor.bpf.c b/src/network/bpf/sysctl-monitor/sysctl-monitor.bpf.c index 07c9a8fd1be..7f34f35a4ed 100644 --- a/src/network/bpf/sysctl-monitor/sysctl-monitor.bpf.c +++ b/src/network/bpf/sysctl-monitor/sysctl-monitor.bpf.c @@ -2,6 +2,7 @@ #include "vmlinux.h" +#include #include #include "sysctl-write-event.h" @@ -104,7 +105,7 @@ int sysctl_monitor(struct bpf_sysctl *ctx) { return 1; r = bpf_get_current_comm(we.comm, sizeof(we.comm)); - if (r < 0) { + if (r < 0 && r != -EINVAL) { /* -EINVAL: the process is already vanished */ we.errorcode = r; goto send_event; } diff --git a/src/network/networkd-sysctl.c b/src/network/networkd-sysctl.c index ab544604e29..92be8dfc8d6 100644 --- a/src/network/networkd-sysctl.c +++ b/src/network/networkd-sysctl.c @@ -76,13 +76,13 @@ static int sysctl_event_handler(void *ctx, void *data, size_t data_sz) { log_struct(LOG_WARNING, LOG_MESSAGE_ID(SD_MESSAGE_SYSCTL_CHANGED_STR), LOG_ITEM("OBJECT_PID=" PID_FMT, we->pid), - LOG_ITEM("OBJECT_COMM=%s", we->comm), + LOG_ITEM("OBJECT_COMM=%s", empty_to_na(we->comm)), LOG_ITEM("SYSCTL=%s", path), LOG_ITEM("OLDVALUE=%s", we->current), LOG_ITEM("NEWVALUE=%s", we->newvalue), LOG_ITEM("OURVALUE=%s", value), LOG_MESSAGE("Foreign process '%s[" PID_FMT "]' changed sysctl '%s' from '%s' to '%s', conflicting with our setting to '%s'.", - we->comm, we->pid, path, we->current, we->newvalue, value)); + empty_to_na(we->comm), we->pid, path, we->current, we->newvalue, value)); return 0; }