Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1{
2 "unreachable",
3 .insns = {
4 BPF_EXIT_INSN(),
5 BPF_EXIT_INSN(),
6 },
7 .errstr = "unreachable",
8 .result = REJECT,
9},
10{
11 "unreachable2",
12 .insns = {
13 BPF_JMP_IMM(BPF_JA, 0, 0, 1),
14 BPF_JMP_IMM(BPF_JA, 0, 0, 0),
15 BPF_EXIT_INSN(),
16 },
17 .errstr = "unreachable",
18 .result = REJECT,
19},
20{
21 "out of range jump",
22 .insns = {
23 BPF_JMP_IMM(BPF_JA, 0, 0, 1),
24 BPF_EXIT_INSN(),
25 },
26 .errstr = "jump out of range",
27 .result = REJECT,
28},
29{
30 "out of range jump2",
31 .insns = {
32 BPF_JMP_IMM(BPF_JA, 0, 0, -2),
33 BPF_EXIT_INSN(),
34 },
35 .errstr = "jump out of range",
36 .result = REJECT,
37},
38{
39 "loop (back-edge)",
40 .insns = {
41 BPF_JMP_IMM(BPF_JA, 0, 0, -1),
42 BPF_EXIT_INSN(),
43 },
44 .errstr = "back-edge",
45 .result = REJECT,
46},
47{
48 "loop2 (back-edge)",
49 .insns = {
50 BPF_MOV64_REG(BPF_REG_1, BPF_REG_0),
51 BPF_MOV64_REG(BPF_REG_2, BPF_REG_0),
52 BPF_MOV64_REG(BPF_REG_3, BPF_REG_0),
53 BPF_JMP_IMM(BPF_JA, 0, 0, -4),
54 BPF_EXIT_INSN(),
55 },
56 .errstr = "back-edge",
57 .result = REJECT,
58},
59{
60 "conditional loop",
61 .insns = {
62 BPF_MOV64_REG(BPF_REG_1, BPF_REG_0),
63 BPF_MOV64_REG(BPF_REG_2, BPF_REG_0),
64 BPF_MOV64_REG(BPF_REG_3, BPF_REG_0),
65 BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, 0, -3),
66 BPF_EXIT_INSN(),
67 },
68 .errstr = "back-edge",
69 .result = REJECT,
70},