diff options
| author | Andrii Nakryiko <andrii@kernel.org> | 2021-09-21 14:00:36 -0700 |
|---|---|---|
| committer | Alexei Starovoitov <ast@kernel.org> | 2021-09-21 19:40:09 -0700 |
| commit | cc10623c681019c608c0cb30e2b38994e2c90b2a (patch) | |
| tree | 371b4dbffe409debc25c062781bd9f620645f754 /tools/perf/scripts/python/stackcollapse.py | |
| parent | libbpf: Refactor and simplify legacy kprobe code (diff) | |
| download | linux-cc10623c681019c608c0cb30e2b38994e2c90b2a.tar.gz linux-cc10623c681019c608c0cb30e2b38994e2c90b2a.zip | |
libbpf: Add legacy uprobe attaching support
Similarly to recently added legacy kprobe attach interface support
through tracefs, support attaching uprobes using the legacy interface if
host kernel doesn't support newer FD-based interface.
For uprobes event name consists of "libbpf_" prefix, PID, sanitized
binary path and offset within that binary. Structuraly the code is
aligned with kprobe logic refactoring in previous patch. struct
bpf_link_perf is re-used and all the same legacy_probe_name and
legacy_is_retprobe fields are used to ensure proper cleanup on
bpf_link__destroy().
Users should be aware, though, that on old kernels which don't support
FD-based interface for kprobe/uprobe attachment, if the application
crashes before bpf_link__destroy() is called, uprobe legacy
events will be left in tracefs. This is the same limitation as with
legacy kprobe interfaces.
Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Link: https://lore.kernel.org/bpf/20210921210036.1545557-5-andrii@kernel.org
Diffstat (limited to 'tools/perf/scripts/python/stackcollapse.py')
0 files changed, 0 insertions, 0 deletions
