selftests/bpf: tests for iterating callbacks
authorEduard Zingerman <eddyz87@gmail.com>
Tue, 21 Nov 2023 02:06:57 +0000 (04:06 +0200)
committerAlexei Starovoitov <ast@kernel.org>
Tue, 21 Nov 2023 02:36:40 +0000 (18:36 -0800)
commit958465e217dbf5fc6677d42d8827fb3073d86afd
treef7d2e4937e28bd7157da6815ca29fea42be3c284
parentab5cfac139ab8576fb54630d4cca23c3e690ee90
selftests/bpf: tests for iterating callbacks

A set of test cases to check behavior of callback handling logic,
check if verifier catches the following situations:
- program not safe on second callback iteration;
- program not safe on zero callback iterations;
- infinite loop inside a callback.

Verify that callback logic works for bpf_loop, bpf_for_each_map_elem,
bpf_user_ringbuf_drain, bpf_find_vma.

Acked-by: Andrii Nakryiko <andrii@kernel.org>
Signed-off-by: Eduard Zingerman <eddyz87@gmail.com>
Link: https://lore.kernel.org/r/20231121020701.26440-8-eddyz87@gmail.com
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
tools/testing/selftests/bpf/prog_tests/verifier.c
tools/testing/selftests/bpf/progs/verifier_iterating_callbacks.c [new file with mode: 0644]