diff options
Diffstat (limited to 'tools/lib/bpf/libbpf.c')
-rw-r--r-- | tools/lib/bpf/libbpf.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/tools/lib/bpf/libbpf.c b/tools/lib/bpf/libbpf.c index 2e84fa5b8479..2b57d7ea7836 100644 --- a/tools/lib/bpf/libbpf.c +++ b/tools/lib/bpf/libbpf.c | |||
@@ -2472,7 +2472,11 @@ load_program(struct bpf_program *prog, struct bpf_insn *insns, int insns_cnt, | |||
2472 | load_attr.license = license; | 2472 | load_attr.license = license; |
2473 | load_attr.kern_version = kern_version; | 2473 | load_attr.kern_version = kern_version; |
2474 | load_attr.prog_ifindex = prog->prog_ifindex; | 2474 | load_attr.prog_ifindex = prog->prog_ifindex; |
2475 | btf_fd = bpf_object__btf_fd(prog->obj); | 2475 | /* if .BTF.ext was loaded, kernel supports associated BTF for prog */ |
2476 | if (prog->obj->btf_ext) | ||
2477 | btf_fd = bpf_object__btf_fd(prog->obj); | ||
2478 | else | ||
2479 | btf_fd = -1; | ||
2476 | load_attr.prog_btf_fd = btf_fd >= 0 ? btf_fd : 0; | 2480 | load_attr.prog_btf_fd = btf_fd >= 0 ? btf_fd : 0; |
2477 | load_attr.func_info = prog->func_info; | 2481 | load_attr.func_info = prog->func_info; |
2478 | load_attr.func_info_rec_size = prog->func_info_rec_size; | 2482 | load_attr.func_info_rec_size = prog->func_info_rec_size; |