]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/blobdiff - tools/testing/selftests/bpf/test_verifier.c
bpf/verifier: reject BPF_ALU64|BPF_END
[mirror_ubuntu-artful-kernel.git] / tools / testing / selftests / bpf / test_verifier.c
index d3ed7324105e4eeeb281c4c90922c27541b2b58f..48c145eeeaf774d59e42f37fe1171083058a9c0f 100644 (file)
@@ -6009,6 +6009,22 @@ static struct bpf_test tests[] = {
                .result = REJECT,
                .result_unpriv = REJECT,
        },
+       {
+               "invalid 64-bit BPF_END",
+               .insns = {
+                       BPF_MOV32_IMM(BPF_REG_0, 0),
+                       {
+                               .code  = BPF_ALU64 | BPF_END | BPF_TO_LE,
+                               .dst_reg = BPF_REG_0,
+                               .src_reg = 0,
+                               .off   = 0,
+                               .imm   = 32,
+                       },
+                       BPF_EXIT_INSN(),
+               },
+               .errstr = "BPF_END uses reserved fields",
+               .result = REJECT,
+       },
 };
 
 static int probe_filter_length(const struct bpf_insn *fp)