diff options
author | Alexei Starovoitov <ast@kernel.org> | 2020-07-23 22:20:32 -0700 |
---|---|---|
committer | Alexei Starovoitov <ast@kernel.org> | 2020-07-25 20:16:35 -0700 |
commit | 90065c0647efd6e2ec8983a702c4ba813af51b93 (patch) | |
tree | c87d99dabe2c42a178399bffc9c9e94c2be496a2 /kernel/bpf/local_storage.c | |
parent | 909e446b3204642bdb54ab2f225652be89d91268 (diff) | |
parent | 346938e9380cc0b2ad8e2566389cdc570386fe22 (diff) | |
download | linux-90065c0647efd6e2ec8983a702c4ba813af51b93.tar.bz2 |
Merge branch 'fix-bpf_get_stack-with-PEBS'
Song Liu says:
====================
Calling get_perf_callchain() on perf_events from PEBS entries may cause
unwinder errors. To fix this issue, perf subsystem fetches callchain early,
and marks perf_events are marked with __PERF_SAMPLE_CALLCHAIN_EARLY.
Similar issue exists when BPF program calls get_perf_callchain() via
helper functions. For more information about this issue, please refer to
discussions in [1].
This set fixes this issue with helper proto bpf_get_stackid_pe and
bpf_get_stack_pe.
[1] https://lore.kernel.org/lkml/ED7B9430-6489-4260-B3C5-9CFA2E3AA87A@fb.com/
Changes v4 => v5:
1. Return -EPROTO instead of -EINVAL on PERF_EVENT_IOC_SET_BPF errors.
(Alexei)
2. Let libbpf print a hint message when PERF_EVENT_IOC_SET_BPF returns
-EPROTO. (Alexei)
Changes v3 => v4:
1. Fix error check logic in bpf_get_stackid_pe and bpf_get_stack_pe.
(Alexei)
2. Do not allow attaching BPF programs with bpf_get_stack|stackid to
perf_event with precise_ip > 0, but not proper callchain. (Alexei)
3. Add selftest get_stackid_cannot_attach.
Changes v2 => v3:
1. Fix handling of stackmap skip field. (Andrii)
2. Simplify the code in a few places. (Andrii)
Changes v1 => v2:
1. Simplify the design and avoid introducing new helper function. (Andrii)
====================
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Diffstat (limited to 'kernel/bpf/local_storage.c')
0 files changed, 0 insertions, 0 deletions