diff options
author | Andrii Nakryiko <[email protected]> | 2023-11-09 16:26:36 -0800 |
---|---|---|
committer | Alexei Starovoitov <[email protected]> | 2023-11-09 20:11:20 -0800 |
commit | 3feb263bb516ee7e1da0acd22b15afbb9a7daa19 (patch) | |
tree | b29c0f1447aad1aca146c40769a05a39d420d71a /tools/perf/scripts/python/net_dropmonitor.py | |
parent | fe69a1b1b6ed9ffc2c578c63f526026a8ab74f0c (diff) |
bpf: handle ldimm64 properly in check_cfg()
ldimm64 instructions are 16-byte long, and so have to be handled
appropriately in check_cfg(), just like the rest of BPF verifier does.
This has implications in three places:
- when determining next instruction for non-jump instructions;
- when determining next instruction for callback address ldimm64
instructions (in visit_func_call_insn());
- when checking for unreachable instructions, where second half of
ldimm64 is expected to be unreachable;
We take this also as an opportunity to report jump into the middle of
ldimm64. And adjust few test_verifier tests accordingly.
Acked-by: Eduard Zingerman <[email protected]>
Reported-by: Hao Sun <[email protected]>
Fixes: 475fb78fbf48 ("bpf: verifier (add branch/goto checks)")
Signed-off-by: Andrii Nakryiko <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Alexei Starovoitov <[email protected]>
Diffstat (limited to 'tools/perf/scripts/python/net_dropmonitor.py')
0 files changed, 0 insertions, 0 deletions