From de285aa9076841c618d068f7b838e312fc8b26c6 Mon Sep 17 00:00:00 2001 From: Markus Armbruster Date: Tue, 18 Nov 2025 16:47:18 +0100 Subject: [PATCH] ebpf: Make ebpf_rss_load() return value consistent with @errp MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit ebpf_rss_load() returns false for failure without setting an Error when its @ctx argument already has an eBPF program loaded. This is wrong. Fortunately, it is only called @ctx has a program. Replace the incorrect error check by an assertion. The return value is now obviously reliable. Change the caller to use it, because it's more concise. Signed-off-by: Markus Armbruster Reviewed-by: Daniel P. Berrangé Reviewed-by: Philippe Mathieu-Daudé Message-ID: <20251118154718.3969982-4-armbru@redhat.com> Signed-off-by: Philippe Mathieu-Daudé --- ebpf/ebpf_rss.c | 4 +--- hw/net/virtio-net.c | 4 +--- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/ebpf/ebpf_rss.c b/ebpf/ebpf_rss.c index b64e9da3e3..926392b3c5 100644 --- a/ebpf/ebpf_rss.c +++ b/ebpf/ebpf_rss.c @@ -106,9 +106,7 @@ bool ebpf_rss_load(struct EBPFRSSContext *ctx, Error **errp) { struct rss_bpf *rss_bpf_ctx; - if (ebpf_rss_is_loaded(ctx)) { - return false; - } + g_assert(!ebpf_rss_is_loaded(ctx)); rss_bpf_ctx = rss_bpf__open(); if (rss_bpf_ctx == NULL) { diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c index 3b85560f6f..f5d93eb400 100644 --- a/hw/net/virtio-net.c +++ b/hw/net/virtio-net.c @@ -1363,9 +1363,7 @@ static bool virtio_net_load_ebpf(VirtIONet *n, Error **errp) return virtio_net_load_ebpf_fds(n, errp); } - ebpf_rss_load(&n->ebpf_rss, &err); - /* Beware, ebpf_rss_load() can return false with @err unset */ - if (err) { + if (!ebpf_rss_load(&n->ebpf_rss, &err)) { warn_report_err(err); } return true; -- 2.47.3