aboutsummaryrefslogtreecommitdiffstats
path: root/tools/testing/selftests/bpf/prog_tests/stacktrace_map.c
diff options
context:
space:
mode:
authorAndrii Nakryiko <[email protected]>2020-03-03 04:31:58 +0000
committerAlexei Starovoitov <[email protected]>2020-03-03 06:06:27 +0000
commitc016b68edc7a2adf3db0f11fb649797c1f9216ea (patch)
tree6b16138cd92c3ca9c36ddfadff2e1ccbb3082ab4 /tools/testing/selftests/bpf/prog_tests/stacktrace_map.c
parentbpf: Introduce pinnable bpf_link abstraction (diff)
downloadkernel-c016b68edc7a2adf3db0f11fb649797c1f9216ea.tar.gz
kernel-c016b68edc7a2adf3db0f11fb649797c1f9216ea.zip
libbpf: Add bpf_link pinning/unpinning
With bpf_link abstraction supported by kernel explicitly, add pinning/unpinning API for links. Also allow to create (open) bpf_link from BPF FS file. This API allows to have an "ephemeral" FD-based BPF links (like raw tracepoint or fexit/freplace attachments) surviving user process exit, by pinning them in a BPF FS, which is an important use case for long-running BPF programs. As part of this, expose underlying FD for bpf_link. While legacy bpf_link's might not have a FD associated with them (which will be expressed as a bpf_link with fd=-1), kernel's abstraction is based around FD-based usage, so match it closely. This, subsequently, allows to have a generic pinning/unpinning API for generalized bpf_link. For some types of bpf_links kernel might not support pinning, in which case bpf_link__pin() will return error. With FD being part of generic bpf_link, also get rid of bpf_link_fd in favor of using vanialla bpf_link. Signed-off-by: Andrii Nakryiko <[email protected]> Signed-off-by: Alexei Starovoitov <[email protected]> Link: https://lore.kernel.org/bpf/[email protected]
Diffstat (limited to 'tools/testing/selftests/bpf/prog_tests/stacktrace_map.c')
0 files changed, 0 insertions, 0 deletions