summaryrefslogtreecommitdiffstats
path: root/tools/testing/selftests/bpf/verifier/ctx.c
diff options
context:
space:
mode:
authorJakub Kicinski <jakub.kicinski@netronome.com>2019-01-26 00:24:43 +0100
committerAlexei Starovoitov <ast@kernel.org>2019-01-28 06:37:45 +0100
commit40f2fbd5a5e9c6d0799632fcba174a7b45c471da (patch)
treea2a70957c9a979dc1f6d82eada377f9402865f5f /tools/testing/selftests/bpf/verifier/ctx.c
parentselftests: bpf: prepare for break up of verifier tests (diff)
downloadlinux-40f2fbd5a5e9c6d0799632fcba174a7b45c471da.tar.xz
linux-40f2fbd5a5e9c6d0799632fcba174a7b45c471da.zip
selftests: bpf: break up test_verifier
Break up the first 10 kLoC of test verifier test cases out into smaller files. Looks like git line counting gets a little flismy above 16 bit integers, so we need two commits to break up test_verifier. Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com> Acked-by: Jiong Wang <jiong.wang@netronome.com> Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Diffstat (limited to 'tools/testing/selftests/bpf/verifier/ctx.c')
-rw-r--r--tools/testing/selftests/bpf/verifier/ctx.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/tools/testing/selftests/bpf/verifier/ctx.c b/tools/testing/selftests/bpf/verifier/ctx.c
new file mode 100644
index 000000000000..0d623af34471
--- /dev/null
+++ b/tools/testing/selftests/bpf/verifier/ctx.c
@@ -0,0 +1,23 @@
+{
+ "context stores via ST",
+ .insns = {
+ BPF_MOV64_IMM(BPF_REG_0, 0),
+ BPF_ST_MEM(BPF_DW, BPF_REG_1, offsetof(struct __sk_buff, mark), 0),
+ BPF_EXIT_INSN(),
+ },
+ .errstr = "BPF_ST stores into R1 ctx is not allowed",
+ .result = REJECT,
+ .prog_type = BPF_PROG_TYPE_SCHED_CLS,
+},
+{
+ "context stores via XADD",
+ .insns = {
+ BPF_MOV64_IMM(BPF_REG_0, 0),
+ BPF_RAW_INSN(BPF_STX | BPF_XADD | BPF_W, BPF_REG_1,
+ BPF_REG_0, offsetof(struct __sk_buff, mark), 0),
+ BPF_EXIT_INSN(),
+ },
+ .errstr = "BPF_XADD stores into R1 ctx is not allowed",
+ .result = REJECT,
+ .prog_type = BPF_PROG_TYPE_SCHED_CLS,
+},