summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorEduard Zingerman <ezingerman@fb.com>2026-10-09 03:47:49 -0700
committerAlexei Starovoitov <ast@kernel.org>2026-10-09 20:29:14 +0000
commit2fa579694ddf3a96454669c764ca0c06dea50817 (patch)
tree02fdaac2826067c2abf8aa60b99cca2bde7ba2f0 /include/linux
parent1291ad5906933355fbe7b042ee5e3eedb5743e46 (diff)
downloadlinux-next-2fa579694ddf3a96454669c764ca0c06dea50817.tar.gz
linux-next-2fa579694ddf3a96454669c764ca0c06dea50817.zip
bpf: Record basic-block ends in insn_aux_data
SCEV needs information about the program's basic-block structure. Piggyback on compute_predecessors() and set insn_aux_data->bb_end for an instruction if: - it has multiple successors, or - its sole successor has multiple predecessors, or - it is a jump instruction. Signed-off-by: Eduard Zingerman <eddyz87@gmail.com> Signed-off-by: Alexei Starovoitov <ast@kernel.org> Link: https://patch.msgid.link/20261009-scev-minimal-rebase-v3-31-bcba9bc53ac9@gmail.com
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/bpf_verifier.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/bpf_verifier.h b/include/linux/bpf_verifier.h
index 7fb1e315de48..1458e50a1ad1 100644
--- a/include/linux/bpf_verifier.h
+++ b/include/linux/bpf_verifier.h
@@ -741,6 +741,7 @@ struct bpf_insn_aux_data {
bool is_iter_next; /* bpf_iter_<type>_next() kfunc call */
bool call_with_percpu_alloc_ptr; /* {this,per}_cpu_ptr() with prog percpu alloc */
bool arena_scalar; /* ldx/stx/st/atomic through a number, it's an address in arena */
+ bool bb_end; /* last instruction of a basic block */
u8 alu_state; /* used in combination with alu_limit */
/* true if STX or LDX instruction is a part of a spill/fill
* pattern for a bpf_fastcall call.