diff options
author | Alexei Starovoitov <ast@kernel.org> | 2019-06-28 18:24:09 +0200 |
---|---|---|
committer | Daniel Borkmann <daniel@iogearbox.net> | 2019-07-03 11:12:14 +0200 |
commit | a3ce685dd01a786fa5bc388e47d0066a4f842591 (patch) | |
tree | 38e3aaffd4b9f7aeb593edc28321fb5bb68f9688 /tools/lib/bpf/xsk.c | |
parent | Merge branch 'bpf-lookup-devmap' (diff) | |
download | linux-a3ce685dd01a786fa5bc388e47d0066a4f842591.tar.xz linux-a3ce685dd01a786fa5bc388e47d0066a4f842591.zip |
bpf: fix precision tracking
When equivalent state is found the current state needs to propagate precision marks.
Otherwise the verifier will prune the search incorrectly.
There is a price for correctness:
before before broken fixed
cnst spill precise precise
bpf_lb-DLB_L3.o 1923 8128 1863 1898
bpf_lb-DLB_L4.o 3077 6707 2468 2666
bpf_lb-DUNKNOWN.o 1062 1062 544 544
bpf_lxc-DDROP_ALL.o 166729 380712 22629 36823
bpf_lxc-DUNKNOWN.o 174607 440652 28805 45325
bpf_netdev.o 8407 31904 6801 7002
bpf_overlay.o 5420 23569 4754 4858
bpf_lxc_jit.o 39389 359445 50925 69631
Overall precision tracking is still very effective.
Fixes: b5dc0163d8fd ("bpf: precise scalar_value tracking")
Reported-by: Lawrence Brakmo <brakmo@fb.com>
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Acked-by: Andrii Nakryiko <andriin@fb.com>
Tested-by: Lawrence Brakmo <brakmo@fb.com>
Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Diffstat (limited to '')
0 files changed, 0 insertions, 0 deletions