4 BPF_JMP_IMM(BPF_JA, 0, 0, 2),
5 BPF_LDX_MEM(BPF_B, BPF_REG_8, BPF_REG_9, 0),
6 BPF_JMP_IMM(BPF_JA, 0, 0, 2),
7 BPF_MOV64_IMM(BPF_REG_0, 7),
8 BPF_JMP_IMM(BPF_JGE, BPF_REG_0, 10, -4),
11 .errstr_unpriv = "R9 !read_ok",
12 .result_unpriv = REJECT,
19 BPF_MOV64_IMM(BPF_REG_0, 7),
20 BPF_JMP_IMM(BPF_JGE, BPF_REG_0, 0, 1),
21 BPF_JMP_IMM(BPF_JGE, BPF_REG_0, 10, 0),
30 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 0, 0, BPF_FUNC_get_prandom_u32),
31 BPF_JMP_IMM(BPF_JSET, BPF_REG_0, 1, 4),
32 BPF_JMP_IMM(BPF_JSET, BPF_REG_0, 1, 1),
33 BPF_JMP_IMM(BPF_JA, 0, 0, 2),
34 BPF_MOV64_IMM(BPF_REG_0, 7),
36 BPF_MOV64_IMM(BPF_REG_0, 1),
45 BPF_MOV64_IMM(BPF_REG_0, 7),
46 BPF_JMP_IMM(BPF_JGE, BPF_REG_0, 10, 1),
56 BPF_MOV64_IMM(BPF_REG_0, 7),
57 BPF_JMP_IMM(BPF_JGE, BPF_REG_0, 10, 1),
59 BPF_MOV64_IMM(BPF_REG_0, 12),
68 BPF_MOV64_IMM(BPF_REG_0, 7),
69 BPF_JMP_IMM(BPF_JGE, BPF_REG_0, 8, 1),
71 BPF_JMP_IMM(BPF_JGE, BPF_REG_0, 10, 1),
72 BPF_JMP_IMM(BPF_JA, 0, 0, 1),
73 BPF_MOV64_IMM(BPF_REG_0, 12),
74 BPF_JMP_IMM(BPF_JA, 0, 0, -5),
80 "dead code: tail of main + func",
82 BPF_MOV64_IMM(BPF_REG_0, 7),
83 BPF_JMP_IMM(BPF_JGE, BPF_REG_0, 8, 1),
85 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, 1),
87 BPF_MOV64_IMM(BPF_REG_0, 12),
90 .errstr_unpriv = "loading/calling other bpf or kernel functions are allowed for",
91 .result_unpriv = REJECT,
96 "dead code: tail of main + two functions",
98 BPF_MOV64_IMM(BPF_REG_0, 7),
99 BPF_JMP_IMM(BPF_JGE, BPF_REG_0, 8, 1),
101 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, 1),
103 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, 1),
105 BPF_MOV64_IMM(BPF_REG_0, 12),
108 .errstr_unpriv = "loading/calling other bpf or kernel functions are allowed for",
109 .result_unpriv = REJECT,
114 "dead code: function in the middle and mid of another func",
116 BPF_MOV64_IMM(BPF_REG_1, 7),
117 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, 3),
119 BPF_MOV64_IMM(BPF_REG_0, 12),
121 BPF_MOV64_IMM(BPF_REG_0, 7),
122 BPF_JMP_IMM(BPF_JGE, BPF_REG_1, 7, 1),
123 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, -5),
126 .errstr_unpriv = "loading/calling other bpf or kernel functions are allowed for",
127 .result_unpriv = REJECT,
132 "dead code: middle of main before call",
134 BPF_MOV64_IMM(BPF_REG_1, 2),
135 BPF_JMP_IMM(BPF_JGE, BPF_REG_1, 2, 1),
136 BPF_MOV64_IMM(BPF_REG_1, 5),
137 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, 1),
139 BPF_MOV64_REG(BPF_REG_0, BPF_REG_1),
142 .errstr_unpriv = "loading/calling other bpf or kernel functions are allowed for",
143 .result_unpriv = REJECT,
148 "dead code: start of a function",
150 BPF_MOV64_IMM(BPF_REG_1, 2),
151 BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, 1),
153 BPF_JMP_IMM(BPF_JA, 0, 0, 0),
154 BPF_MOV64_REG(BPF_REG_0, BPF_REG_1),
157 .errstr_unpriv = "loading/calling other bpf or kernel functions are allowed for",
158 .result_unpriv = REJECT,