From 5a967e28873816806a8f1e7c6c7d1ac28369f8b9 Mon Sep 17 00:00:00 2001 From: Daan De Meyer Date: Fri, 9 Sep 2022 10:38:03 +0200 Subject: [PATCH] Try to load libbpf.so.1 as well libbpf had a soname bump. Our usage of libbpf is compatible with both libbpf.so.0 and libbpf.so.1, so let's try to load from both. --- src/shared/bpf-dlopen.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/shared/bpf-dlopen.c b/src/shared/bpf-dlopen.c index 07c237cc2f1..ad5432a9494 100644 --- a/src/shared/bpf-dlopen.c +++ b/src/shared/bpf-dlopen.c @@ -3,6 +3,7 @@ #include "dlfcn-util.h" #include "bpf-dlopen.h" #include "log.h" +#include "strv.h" #if HAVE_LIBBPF static void *bpf_dl = NULL; @@ -45,8 +46,9 @@ static int bpf_print_func(enum libbpf_print_level level, const char *fmt, va_lis int dlopen_bpf(void) { int r; - r = dlopen_many_sym_or_warn( - &bpf_dl, "libbpf.so.0", LOG_DEBUG, + FOREACH_STRING(f, "libbpf.so.1", "libbpf.so.0") { + r = dlopen_many_sym_or_warn( + &bpf_dl, f, LOG_DEBUG, DLSYM_ARG(bpf_link__destroy), DLSYM_ARG(bpf_link__fd), DLSYM_ARG(bpf_map__fd), @@ -67,6 +69,9 @@ int dlopen_bpf(void) { DLSYM_ARG(libbpf_probe_bpf_prog_type), DLSYM_ARG(libbpf_set_print), DLSYM_ARG(libbpf_get_error)); + if (r >= 0) + break; + } if (r < 0) return r; -- 2.47.3