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 <armbru@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-ID: <
20251118154718.
3969982-4-armbru@redhat.com>
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
{
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) {
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;