Merge branch 'set_attach_target'
authorAlexei Starovoitov <ast@kernel.org>
Fri, 21 Feb 2020 01:48:40 +0000 (17:48 -0800)
committerAlexei Starovoitov <ast@kernel.org>
Fri, 21 Feb 2020 01:51:40 +0000 (17:51 -0800)
commit2c3a368127e1b56b32e147971ab804176ff4c9f3
treee4deb87a21fd976b52af9400335b73168437a9b9
parent5327644614a18f5d0ff845844a4e9976210b3d8d
parent933ce62d68dee5465cb5f5b359ab0638c9f665b1
Merge branch 'set_attach_target'

Eelco Chaudron says:

====================
Currently when you want to attach a trace program to a bpf program
the section name needs to match the tracepoint/function semantics.

However the addition of the bpf_program__set_attach_target() API
allows you to specify the tracepoint/function dynamically.

The call flow would look something like this:

  xdp_fd = bpf_prog_get_fd_by_id(id);
  trace_obj = bpf_object__open_file("func.o", NULL);
  prog = bpf_object__find_program_by_title(trace_obj,
                                           "fentry/myfunc");
  bpf_program__set_expected_attach_type(prog, BPF_TRACE_FENTRY);
  bpf_program__set_attach_target(prog, xdp_fd,
                                 "xdpfilt_blk_all");
  bpf_object__load(trace_obj)

v1 -> v2: Remove requirement for attach type hint in API
v2 -> v3: Moved common warning to __find_vmlinux_btf_id, requested by Andrii
          Updated the xdp_bpf2bpf test to use this new API
v3 -> v4: Split up patch, update libbpf.map version
v4 -> v5: Fix return code, and prog assignment in test case
====================

Signed-off-by: Alexei Starovoitov <ast@kernel.org>