The commit "5902da6d8a52" set expected_attach_type again with filed of bpf_program after libpf_prepare_prog_load, which makes expected_attach_type = 0 no sense when kenrel not support the attach_type feature, so fix it. Fixes: 5902da6d8a52 ("libbpf: Add uprobe multi link support to bpf_program__attach_usdt") Signed-off-by: Tao Chen <chen.dylane@xxxxxxxxx> --- tools/lib/bpf/libbpf.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tools/lib/bpf/libbpf.c b/tools/lib/bpf/libbpf.c index 219facd0e66e..9035edf763a3 100644 --- a/tools/lib/bpf/libbpf.c +++ b/tools/lib/bpf/libbpf.c @@ -7343,7 +7343,7 @@ static int libbpf_prepare_prog_load(struct bpf_program *prog, /* old kernels might not support specifying expected_attach_type */ if ((def & SEC_EXP_ATTACH_OPT) && !kernel_supports(prog->obj, FEAT_EXP_ATTACH_TYPE)) - opts->expected_attach_type = 0; + prog->expected_attach_type = 0; if (def & SEC_SLEEPABLE) opts->prog_flags |= BPF_F_SLEEPABLE; -- 2.25.1