On Wed, 2023-10-11 at 15:37 -0700, Andrii Nakryiko wrote: > This patch set fixes ambiguity in BPF verifier log output of SCALAR register > in the parts that emit umin/umax, smin/smax, etc ranges. See patch #4 for > details. > > Also, patch #5 fixes an issue with verifier log missing instruction context > (state) output for conditionals that trigger precision marking. See details in > the patch. > > First two patches are just improvements to two selftests that are very flaky > locally when run in parallel mode. > > Patch #3 changes 'align' selftest to be less strict about exact verifier log > output (which patch #4 changes, breaking lots of align tests as written). Now > test does more of a register substate checks, mostly around expected var_off() > values. This 'align' selftests is one of the more brittle ones and requires > constant adjustment when verifier log output changes, without really catching > any new issues. So hopefully these changes can minimize future support efforts > for this specific set of tests. All seems reasonable and passes local testing. Acked-by: Eduard Zingerman <eddyz87@xxxxxxxxx> > > Andrii Nakryiko (5): > selftests/bpf: improve percpu_alloc test robustness > selftests/bpf: improve missed_kprobe_recursion test robustness > selftests/bpf: make align selftests more robust > bpf: disambiguate SCALAR register state output in verifier logs > bpf: ensure proper register state printing for cond jumps > > kernel/bpf/verifier.c | 74 ++++-- > .../testing/selftests/bpf/prog_tests/align.c | 241 +++++++++--------- > .../testing/selftests/bpf/prog_tests/missed.c | 8 +- > .../selftests/bpf/prog_tests/percpu_alloc.c | 3 + > .../selftests/bpf/progs/exceptions_assert.c | 18 +- > .../selftests/bpf/progs/percpu_alloc_array.c | 7 + > .../progs/percpu_alloc_cgrp_local_storage.c | 4 + > .../selftests/bpf/progs/verifier_ldsx.c | 2 +- > 8 files changed, 200 insertions(+), 157 deletions(-) >