[PATCH v2 bpf 0/3] BPF control flow graph and precision backtrack fixes

Andrii Nakryiko
2023-11-10T00:26:55Z

A small fix to BPF verifier's CFG logic around handling and reporting ldimm64
instructions. Patch #1 was previously submitted separately ([0]), and so this
patch set supersedes that patch.

Second patch is fixing obscure corner case in mark_chain_precise() logic. See
patch for details. Patch #3 adds a dedicated test, however fragile it might.

[0] https://patchwork.kernel.org/project/netdevbpf/patch/20231101205626.119243-1-andrii@kernel.org/

Andrii Nakryiko (3):
bpf: handle ldimm64 properly in check_cfg()
bpf: fix precision backtracking instruction iteration
selftests/bpf: add edge case backtracking logic test

include/linux/bpf.h | 8 +++-
kernel/bpf/verifier.c | 48 +++++++++++++++----
.../selftests/bpf/progs/verifier_precision.c | 40 ++++++++++++++++
.../testing/selftests/bpf/verifier/ld_imm64.c | 8 ++--
4 files changed, 89 insertions(+), 15 deletions(-)

--
2.34.1