Message ID | 20200313172336.1879637-1-andriin@fb.com |
---|---|
Headers | show |
Series | CO-RE candidate matching fix and tracing test | expand |
On Fri, Mar 13, 2020 at 10:23:32AM -0700, Andrii Nakryiko wrote: > This patch set fixes bug in CO-RE relocation candidate finding logic, which > currently allows matching against forward declarations, functions, and other > named types, even though it makes no sense to even attempt. As part of > verifying the fix, add test using vmlinux.h with preserve_access_index > attribute and utilizing struct pt_regs heavily to trace nanosleep syscall > using 5 different types of tracing BPF programs. > > This test also demonstrated problems using struct pt_regs in syscall > tracepoints and required a new set of macro, which were added in patch #3 into > bpf_tracing.h. > > Patch #1 fixes annoying issue with selftest failure messages being out of > sync. > > v1->v2: > - drop unused handle__probed() function (Martin). Acked-by: Martin KaFai Lau <kafai@fb.com>
On 3/13/20 6:23 PM, Andrii Nakryiko wrote: > This patch set fixes bug in CO-RE relocation candidate finding logic, which > currently allows matching against forward declarations, functions, and other > named types, even though it makes no sense to even attempt. As part of > verifying the fix, add test using vmlinux.h with preserve_access_index > attribute and utilizing struct pt_regs heavily to trace nanosleep syscall > using 5 different types of tracing BPF programs. > > This test also demonstrated problems using struct pt_regs in syscall > tracepoints and required a new set of macro, which were added in patch #3 into > bpf_tracing.h. > > Patch #1 fixes annoying issue with selftest failure messages being out of > sync. > > v1->v2: > - drop unused handle__probed() function (Martin). > > Andrii Nakryiko (4): > selftests/bpf: ensure consistent test failure output > libbpf: ignore incompatible types with matching name during CO-RE > relocation > libbpf: provide CO-RE variants of PT_REGS macros > selftests/bpf: add vmlinux.h selftest exercising tracing of syscalls > > tools/lib/bpf/bpf_tracing.h | 103 ++++++++++++++++++ > tools/lib/bpf/libbpf.c | 4 + > tools/testing/selftests/bpf/Makefile | 7 +- > .../selftests/bpf/prog_tests/vmlinux.c | 43 ++++++++ > .../selftests/bpf/progs/test_vmlinux.c | 84 ++++++++++++++ > tools/testing/selftests/bpf/test_progs.c | 10 +- > tools/testing/selftests/bpf/test_progs.h | 8 +- > 7 files changed, 249 insertions(+), 10 deletions(-) > create mode 100644 tools/testing/selftests/bpf/prog_tests/vmlinux.c > create mode 100644 tools/testing/selftests/bpf/progs/test_vmlinux.c Applied, thanks!