aboutsummaryrefslogtreecommitdiffstats
path: root/tools/testing/selftests/bpf/gnu
diff options
context:
space:
mode:
authorYonghong Song <yhs@fb.com>2017-05-02 19:58:14 -0700
committerDavid S. Miller <davem@davemloft.net>2017-05-03 09:51:25 -0400
commit6ead18fb18c8182a81d70f24942f9547e56a35d2 (patch)
tree06dfd33dbb26086f8cc593f51a6e47f53f784200 /tools/testing/selftests/bpf/gnu
parentxdp: use common helper for netlink extended ack reporting (diff)
downloadlinux-dev-6ead18fb18c8182a81d70f24942f9547e56a35d2.tar.xz
linux-dev-6ead18fb18c8182a81d70f24942f9547e56a35d2.zip
selftests/bpf: add a test case to check verifier pointer arithmetic
With clang/llvm 4.0+, the test case is able to generate the following pattern: .... 440: (b7) r1 = 15 441: (05) goto pc+73 515: (79) r6 = *(u64 *)(r10 -152) 516: (bf) r7 = r10 517: (07) r7 += -112 518: (bf) r2 = r7 519: (0f) r2 += r1 520: (71) r1 = *(u8 *)(r8 +0) 521: (73) *(u8 *)(r2 +45) = r1 .... commit 332270fdc8b6 ("bpf: enhance verifier to understand stack pointer arithmetic") improved verifier to handle such a pattern. This patch adds a C test case to actually generate such a pattern. A dummy tracepoint interface is used to load the program into the kernel. Signed-off-by: Yonghong Song <yhs@fb.com> Acked-by: Martin KaFai Lau <kafai@fb.com> Acked-by: Daniel Borkmann <daniel@iogearbox.net> Signed-off-by: Alexei Starovoitov <ast@kernel.org> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'tools/testing/selftests/bpf/gnu')
0 files changed, 0 insertions, 0 deletions