From: Markus Armbruster Date: Tue, 18 Nov 2025 15:47:18 +0000 (+0100) Subject: ebpf: Make ebpf_rss_load() return value consistent with @errp X-Git-Tag: v10.2.0-rc1~4^2 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=de285aa9076841c618d068f7b838e312fc8b26c6;p=thirdparty%2Fqemu.git ebpf: Make ebpf_rss_load() return value consistent with @errp 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é --- 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;