This patchset introduces a new standalone tool for pre-validating eBPF programs and debugging validation problems. Its should allow developers to trace validator state changes per instruction and understand verifier decisions, simplifying the debugging of rejected programs before loading them into a real application context.
Marat Khalili (7): bpf/validate: fix finished status on restart bpf/validate: refactor internal step function bpf/validate: formalize call back requirements bpf/validate: add jump notification events bpf/validate: add get current event API app/test: add test for bpf validate debug events app/validate-bpf: add BPF validation application MAINTAINERS | 2 + app/meson.build | 1 + app/test/test_bpf_validate.c | 341 +++++++- app/validate-bpf/alloc_list.c | 53 ++ app/validate-bpf/args.c | 263 ++++++ app/validate-bpf/debug.c | 1099 ++++++++++++++++++++++++ app/validate-bpf/debug_command.c | 383 +++++++++ app/validate-bpf/debug_command.h | 65 ++ app/validate-bpf/eal_init_args.c | 57 ++ app/validate-bpf/internal.h | 151 ++++ app/validate-bpf/main.c | 77 ++ app/validate-bpf/meson.build | 13 + app/validate-bpf/parse_decl.c | 611 +++++++++++++ doc/guides/rel_notes/release_26_11.rst | 5 + doc/guides/tools/index.rst | 1 + doc/guides/tools/validate_bpf.rst | 97 +++ lib/bpf/bpf_validate.c | 49 +- lib/bpf/bpf_validate_debug.c | 92 +- lib/bpf/bpf_validate_debug.h | 10 +- lib/bpf/rte_bpf_validate_debug.h | 42 +- 20 files changed, 3347 insertions(+), 65 deletions(-) create mode 100644 app/validate-bpf/alloc_list.c create mode 100644 app/validate-bpf/args.c create mode 100644 app/validate-bpf/debug.c create mode 100644 app/validate-bpf/debug_command.c create mode 100644 app/validate-bpf/debug_command.h create mode 100644 app/validate-bpf/eal_init_args.c create mode 100644 app/validate-bpf/internal.h create mode 100644 app/validate-bpf/main.c create mode 100644 app/validate-bpf/meson.build create mode 100644 app/validate-bpf/parse_decl.c create mode 100644 doc/guides/tools/validate_bpf.rst -- 2.43.0

