summaryrefslogtreecommitdiffstats
path: root/tools/testing/selftests/bpf/verifier
diff options
context:
space:
mode:
authorAlexei Starovoitov2019-04-02 06:27:49 +0200
committerDaniel Borkmann2019-04-04 01:27:38 +0200
commit8aa2d4b4b92cd534d53353b0c2fb079572b97fdf (patch)
tree27109b9d8f1bcea48513a56186c60ed1930f34f0 /tools/testing/selftests/bpf/verifier
parentselftests/bpf: add few verifier scale tests (diff)
downloadkernel-qcow2-linux-8aa2d4b4b92cd534d53353b0c2fb079572b97fdf.tar.gz
kernel-qcow2-linux-8aa2d4b4b92cd534d53353b0c2fb079572b97fdf.tar.xz
kernel-qcow2-linux-8aa2d4b4b92cd534d53353b0c2fb079572b97fdf.zip
selftests/bpf: synthetic tests to push verifier limits
Add a test to generate 1m ld_imm64 insns to stress the verifier. Bump the size of fill_ld_abs_vlan_push_pop test from 4k to 29k and jump_around_ld_abs from 4k to 5.5k. Larger sizes are not possible due to 16-bit offset encoding in jump instructions. Signed-off-by: Alexei Starovoitov <ast@kernel.org> Signed-off-by: Daniel Borkmann <daniel@iogearbox.net>
Diffstat (limited to 'tools/testing/selftests/bpf/verifier')
-rw-r--r--tools/testing/selftests/bpf/verifier/ld_dw.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/tools/testing/selftests/bpf/verifier/ld_dw.c b/tools/testing/selftests/bpf/verifier/ld_dw.c
index d2c75b889598..0f18e62f0099 100644
--- a/tools/testing/selftests/bpf/verifier/ld_dw.c
+++ b/tools/testing/selftests/bpf/verifier/ld_dw.c
@@ -34,3 +34,12 @@
.result = ACCEPT,
.retval = 5,
},
+{
+ "ld_dw: xor semi-random 64 bit imms, test 5",
+ .insns = { },
+ .data = { },
+ .fill_helper = bpf_fill_rand_ld_dw,
+ .prog_type = BPF_PROG_TYPE_SCHED_CLS,
+ .result = ACCEPT,
+ .retval = 1000000 - 6,
+},