On Mon, Mar 02, 2026 at 03:14:34PM +0800, Sun Jian wrote: > verif_scale_pyperf600 loads pyperf600.bpf.o, a large scale case produced > by partial LLVM unrolling. > > On some kernel/toolchain combinations, the verifier rejects it with -E2BIG: > > The sequence of 8193 jumps is too complex. > > This hits the verifier jump sequence complexity limit (8192). > > Treat -E2BIG for this test as SKIP rather than FAIL. Other pyperf600 > variants are unaffected.
This is a known issue with LLVM 19+ [1] and this test is already skipped in CI [2, 3]. I don't think ignoring the error is the proper fix here. 1 - https://lore.kernel.org/all/[email protected]/ 2 - https://github.com/kernel-patches/vmtest/commit/da142df34750386cac2ba10283d15216d5c8d033 3 - https://github.com/libbpf/libbpf/commit/02b3ec9ffc1b7000afa2a9ccc3dfd37de3bad8cb Paul > > Signed-off-by: Sun Jian <[email protected]> > --- > .../bpf/prog_tests/bpf_verif_scale.c | 22 ++++++++++++++++++- > 1 file changed, 21 insertions(+), 1 deletion(-) > > diff --git a/tools/testing/selftests/bpf/prog_tests/bpf_verif_scale.c > b/tools/testing/selftests/bpf/prog_tests/bpf_verif_scale.c > index 73f669014b69..181acdddea1c 100644 > --- a/tools/testing/selftests/bpf/prog_tests/bpf_verif_scale.c > +++ b/tools/testing/selftests/bpf/prog_tests/bpf_verif_scale.c > @@ -112,13 +112,33 @@ void test_verif_scale_pyperf180() > > void test_verif_scale_pyperf600() > { > + libbpf_print_fn_t old_print_fn = NULL; > + int err; > + > /* partial unroll. llvm will unroll loop ~150 times. > * C loop count -> 600. > * Asm loop count -> 4. > * 16k insns in loop body. > * Total of 5 such loops. Total program size ~82k insns. > */ > - scale_test("pyperf600.bpf.o", BPF_PROG_TYPE_RAW_TRACEPOINT, false); > + > + if (env.verifier_stats) { > + test__force_log(); > + old_print_fn = libbpf_set_print(libbpf_debug_print); > + } > + > + err = check_load("pyperf600.bpf.o", BPF_PROG_TYPE_RAW_TRACEPOINT); > + > + if (env.verifier_stats) > + libbpf_set_print(old_print_fn); > + > + if (err == -E2BIG) { > + test__skip(); > + return; > + } > + > + ASSERT_OK(err, "expect_success"); > + > } > > void test_verif_scale_pyperf600_bpf_loop(void) > > base-commit: 11439c4635edd669ae435eec308f4ab8a0804808 > -- > 2.43.0 > >
