summaryrefslogtreecommitdiff
path: root/scripts/ipe
diff options
context:
space:
mode:
authorEduard Zingerman <eddyz87@gmail.com>2025-12-29 23:13:07 -0800
committerAlexei Starovoitov <ast@kernel.org>2025-12-30 15:42:42 -0800
commitf597664454bde5ac45ceaf24da55b590ccfa60e3 (patch)
tree154561df8a42644884e30d6b08902201a61cf13b /scripts/ipe
parent317a5df78f24bd77fb770a26eb85bf39620592e0 (diff)
bpf: bpf_scc_visit instance and backedges accumulation for bpf_loop()
Calls like bpf_loop() or bpf_for_each_map_elem() introduce loops that are not explicitly present in the control-flow graph. The verifier processes such calls by repeatedly interpreting the callback function body within the same verification path (until the current state converges with a previous state). Such loops require a bpf_scc_visit instance in order to allow the accumulation of the state graph backedges. Otherwise, certain checkpoint states created within the bodies of such loops will have incomplete precision marks. See the next patch for an example of a program that leads to the verifier accepting an unsafe program. Fixes: 96c6aa4c63af ("bpf: compute SCCs in program control flow graph") Fixes: c9e31900b54c ("bpf: propagate read/precision marks over state graph backedges") Reported-by: Breno Leitao <leitao@debian.org> Signed-off-by: Eduard Zingerman <eddyz87@gmail.com> Tested-by: Breno Leitao <leitao@debian.org> Link: https://lore.kernel.org/r/20251229-scc-for-callbacks-v1-1-ceadfe679900@gmail.com Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Diffstat (limited to 'scripts/ipe')
0 files changed, 0 insertions, 0 deletions