On Tue, 2023-11-28 at 03:33 +0200, Eduard Zingerman wrote: [...] > Also, I think there are some tests that do oob stack read in branches > that should be proven unreachable, with expectation that if certain > verifier logic does not work as expected stack access would serve as a > canary. Have no idea how to identify these tests, though. I looked through all test cases I ever added (not so many) and it seems that only one test case should be updated: diff --git a/tools/testing/selftests/bpf/progs/iters.c b/tools/testing/selftests/bpf/progs/iters.c index b2181f850d3e..3aca3dc145b5 100644 --- a/tools/testing/selftests/bpf/progs/iters.c +++ b/tools/testing/selftests/bpf/progs/iters.c @@ -846,7 +846,7 @@ __naked int delayed_precision_mark(void) "call %[bpf_iter_num_next];" "if r0 == 0 goto 2f;" "if r6 != 42 goto 3f;" - "r7 = -32;" + "r7 = -33;" "call %[bpf_get_prandom_u32];" "r6 = r0;" "goto 1b;\n" Here oob access is replaced by unaligned, this does not affect error message, but should be future proof in case if widening logic would get smarter.