This set enables BPF_PROG_TEST_RUN for raw_tracepoint type programs. This set also enables running the raw_tp program on a specific CPU. This feature can be used by user space to trigger programs that access percpu resources, e.g. perf_event, percpu variables. Changes v1 => v2: 1. More checks for retval in the selftest. (John) 2. Remove unnecessary goto in bpf_prog_test_run_raw_tp. (John) Song Liu (3): bpf: enable BPF_PROG_TEST_RUN for raw_tracepoint libbpf: introduce bpf_prog_test_run_xattr_opts selftests/bpf: add raw_tp_test_run include/linux/bpf.h | 3 + include/uapi/linux/bpf.h | 5 ++ kernel/bpf/syscall.c | 2 +- kernel/trace/bpf_trace.c | 1 + net/bpf/test_run.c | 88 +++++++++++++++++++ tools/include/uapi/linux/bpf.h | 5 ++ tools/lib/bpf/bpf.c | 13 ++- tools/lib/bpf/bpf.h | 11 +++ tools/lib/bpf/libbpf.map | 1 + .../bpf/prog_tests/raw_tp_test_run.c | 73 +++++++++++++++ .../bpf/progs/test_raw_tp_test_run.c | 26 ++++++ 11 files changed, 226 insertions(+), 2 deletions(-) create mode 100644 tools/testing/selftests/bpf/prog_tests/raw_tp_test_run.c create mode 100644 tools/testing/selftests/bpf/progs/test_raw_tp_test_run.c -- 2.24.1