fix short copy handling in copy_mc_pipe_to_iter()
[sfrench/cifs-2.6.git] / tools / testing / selftests / bpf / verifier / jump.c
1 {
2         "jump test 1",
3         .insns = {
4         BPF_MOV64_REG(BPF_REG_2, BPF_REG_10),
5         BPF_STX_MEM(BPF_DW, BPF_REG_2, BPF_REG_1, -8),
6         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, 0, 1),
7         BPF_ST_MEM(BPF_DW, BPF_REG_2, -8, 0),
8         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, 1, 1),
9         BPF_ST_MEM(BPF_DW, BPF_REG_2, -16, 1),
10         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, 2, 1),
11         BPF_ST_MEM(BPF_DW, BPF_REG_2, -8, 2),
12         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, 3, 1),
13         BPF_ST_MEM(BPF_DW, BPF_REG_2, -16, 3),
14         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, 4, 1),
15         BPF_ST_MEM(BPF_DW, BPF_REG_2, -8, 4),
16         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, 5, 1),
17         BPF_ST_MEM(BPF_DW, BPF_REG_2, -32, 5),
18         BPF_MOV64_IMM(BPF_REG_0, 0),
19         BPF_EXIT_INSN(),
20         },
21         .errstr_unpriv = "R1 pointer comparison",
22         .result_unpriv = REJECT,
23         .result = ACCEPT,
24 },
25 {
26         "jump test 2",
27         .insns = {
28         BPF_MOV64_REG(BPF_REG_2, BPF_REG_10),
29         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, 0, 2),
30         BPF_ST_MEM(BPF_DW, BPF_REG_2, -8, 0),
31         BPF_JMP_IMM(BPF_JA, 0, 0, 14),
32         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, 1, 2),
33         BPF_ST_MEM(BPF_DW, BPF_REG_2, -16, 0),
34         BPF_JMP_IMM(BPF_JA, 0, 0, 11),
35         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, 2, 2),
36         BPF_ST_MEM(BPF_DW, BPF_REG_2, -32, 0),
37         BPF_JMP_IMM(BPF_JA, 0, 0, 8),
38         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, 3, 2),
39         BPF_ST_MEM(BPF_DW, BPF_REG_2, -40, 0),
40         BPF_JMP_IMM(BPF_JA, 0, 0, 5),
41         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, 4, 2),
42         BPF_ST_MEM(BPF_DW, BPF_REG_2, -48, 0),
43         BPF_JMP_IMM(BPF_JA, 0, 0, 2),
44         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, 5, 1),
45         BPF_ST_MEM(BPF_DW, BPF_REG_2, -56, 0),
46         BPF_MOV64_IMM(BPF_REG_0, 0),
47         BPF_EXIT_INSN(),
48         },
49         .errstr_unpriv = "R1 pointer comparison",
50         .result_unpriv = REJECT,
51         .result = ACCEPT,
52 },
53 {
54         "jump test 3",
55         .insns = {
56         BPF_MOV64_REG(BPF_REG_2, BPF_REG_10),
57         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, 0, 3),
58         BPF_ST_MEM(BPF_DW, BPF_REG_2, -8, 0),
59         BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -8),
60         BPF_JMP_IMM(BPF_JA, 0, 0, 19),
61         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, 1, 3),
62         BPF_ST_MEM(BPF_DW, BPF_REG_2, -16, 0),
63         BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -16),
64         BPF_JMP_IMM(BPF_JA, 0, 0, 15),
65         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, 2, 3),
66         BPF_ST_MEM(BPF_DW, BPF_REG_2, -32, 0),
67         BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -32),
68         BPF_JMP_IMM(BPF_JA, 0, 0, 11),
69         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, 3, 3),
70         BPF_ST_MEM(BPF_DW, BPF_REG_2, -40, 0),
71         BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -40),
72         BPF_JMP_IMM(BPF_JA, 0, 0, 7),
73         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, 4, 3),
74         BPF_ST_MEM(BPF_DW, BPF_REG_2, -48, 0),
75         BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -48),
76         BPF_JMP_IMM(BPF_JA, 0, 0, 3),
77         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, 5, 0),
78         BPF_ST_MEM(BPF_DW, BPF_REG_2, -56, 0),
79         BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -56),
80         BPF_LD_MAP_FD(BPF_REG_1, 0),
81         BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 0, 0, BPF_FUNC_map_delete_elem),
82         BPF_EXIT_INSN(),
83         },
84         .fixup_map_hash_8b = { 24 },
85         .errstr_unpriv = "R1 pointer comparison",
86         .result_unpriv = REJECT,
87         .result = ACCEPT,
88         .retval = -ENOENT,
89 },
90 {
91         "jump test 4",
92         .insns = {
93         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 1),
94         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 2),
95         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 3),
96         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 4),
97         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 1),
98         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 2),
99         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 3),
100         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 4),
101         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 1),
102         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 2),
103         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 3),
104         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 4),
105         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 1),
106         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 2),
107         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 3),
108         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 4),
109         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 1),
110         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 2),
111         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 3),
112         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 4),
113         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 1),
114         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 2),
115         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 3),
116         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 4),
117         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 1),
118         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 2),
119         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 3),
120         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 4),
121         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 1),
122         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 2),
123         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 3),
124         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 4),
125         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 1),
126         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 2),
127         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 3),
128         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 4),
129         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 0),
130         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 0),
131         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 0),
132         BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, BPF_REG_10, 0),
133         BPF_MOV64_IMM(BPF_REG_0, 0),
134         BPF_EXIT_INSN(),
135         },
136         .errstr_unpriv = "R1 pointer comparison",
137         .result_unpriv = REJECT,
138         .result = ACCEPT,
139 },
140 {
141         "jump test 5",
142         .insns = {
143         BPF_MOV64_REG(BPF_REG_2, BPF_REG_10),
144         BPF_MOV64_REG(BPF_REG_3, BPF_REG_2),
145         BPF_JMP_IMM(BPF_JGE, BPF_REG_1, 0, 2),
146         BPF_STX_MEM(BPF_DW, BPF_REG_2, BPF_REG_3, -8),
147         BPF_JMP_IMM(BPF_JA, 0, 0, 2),
148         BPF_STX_MEM(BPF_DW, BPF_REG_2, BPF_REG_2, -8),
149         BPF_JMP_IMM(BPF_JA, 0, 0, 0),
150         BPF_MOV64_IMM(BPF_REG_0, 0),
151         BPF_JMP_IMM(BPF_JGE, BPF_REG_1, 0, 2),
152         BPF_STX_MEM(BPF_DW, BPF_REG_2, BPF_REG_3, -8),
153         BPF_JMP_IMM(BPF_JA, 0, 0, 2),
154         BPF_STX_MEM(BPF_DW, BPF_REG_2, BPF_REG_2, -8),
155         BPF_JMP_IMM(BPF_JA, 0, 0, 0),
156         BPF_MOV64_IMM(BPF_REG_0, 0),
157         BPF_JMP_IMM(BPF_JGE, BPF_REG_1, 0, 2),
158         BPF_STX_MEM(BPF_DW, BPF_REG_2, BPF_REG_3, -8),
159         BPF_JMP_IMM(BPF_JA, 0, 0, 2),
160         BPF_STX_MEM(BPF_DW, BPF_REG_2, BPF_REG_2, -8),
161         BPF_JMP_IMM(BPF_JA, 0, 0, 0),
162         BPF_MOV64_IMM(BPF_REG_0, 0),
163         BPF_JMP_IMM(BPF_JGE, BPF_REG_1, 0, 2),
164         BPF_STX_MEM(BPF_DW, BPF_REG_2, BPF_REG_3, -8),
165         BPF_JMP_IMM(BPF_JA, 0, 0, 2),
166         BPF_STX_MEM(BPF_DW, BPF_REG_2, BPF_REG_2, -8),
167         BPF_JMP_IMM(BPF_JA, 0, 0, 0),
168         BPF_MOV64_IMM(BPF_REG_0, 0),
169         BPF_JMP_IMM(BPF_JGE, BPF_REG_1, 0, 2),
170         BPF_STX_MEM(BPF_DW, BPF_REG_2, BPF_REG_3, -8),
171         BPF_JMP_IMM(BPF_JA, 0, 0, 2),
172         BPF_STX_MEM(BPF_DW, BPF_REG_2, BPF_REG_2, -8),
173         BPF_JMP_IMM(BPF_JA, 0, 0, 0),
174         BPF_MOV64_IMM(BPF_REG_0, 0),
175         BPF_EXIT_INSN(),
176         },
177         .errstr_unpriv = "R1 pointer comparison",
178         .result_unpriv = REJECT,
179         .result = ACCEPT,
180 },
181 {
182         "jump test 6",
183         .insns = {
184         BPF_MOV64_IMM(BPF_REG_0, 1),
185         BPF_MOV64_IMM(BPF_REG_1, 2),
186         BPF_JMP_IMM(BPF_JA, 0, 0, 2),
187         BPF_MOV64_IMM(BPF_REG_0, 2),
188         BPF_EXIT_INSN(),
189         BPF_JMP_REG(BPF_JNE, BPF_REG_0, BPF_REG_1, 16),
190         BPF_JMP_IMM(BPF_JA, 0, 0, 0),
191         BPF_JMP_IMM(BPF_JA, 0, 0, 0),
192         BPF_JMP_IMM(BPF_JA, 0, 0, 0),
193         BPF_JMP_IMM(BPF_JA, 0, 0, 0),
194         BPF_JMP_IMM(BPF_JA, 0, 0, 0),
195         BPF_JMP_IMM(BPF_JA, 0, 0, 0),
196         BPF_JMP_IMM(BPF_JA, 0, 0, 0),
197         BPF_JMP_IMM(BPF_JA, 0, 0, 0),
198         BPF_JMP_IMM(BPF_JA, 0, 0, 0),
199         BPF_JMP_IMM(BPF_JA, 0, 0, 0),
200         BPF_JMP_IMM(BPF_JA, 0, 0, 0),
201         BPF_JMP_IMM(BPF_JA, 0, 0, 0),
202         BPF_JMP_IMM(BPF_JA, 0, 0, 0),
203         BPF_JMP_IMM(BPF_JA, 0, 0, 0),
204         BPF_JMP_IMM(BPF_JA, 0, 0, 0),
205         BPF_JMP_IMM(BPF_JA, 0, 0, 0),
206         BPF_JMP_IMM(BPF_JA, 0, 0, -20),
207         },
208         .result = ACCEPT,
209         .retval = 2,
210 },
211 {
212         "jump test 7",
213         .insns = {
214         BPF_MOV64_IMM(BPF_REG_0, 1),
215         BPF_JMP_IMM(BPF_JA, 0, 0, 2),
216         BPF_MOV64_IMM(BPF_REG_0, 3),
217         BPF_EXIT_INSN(),
218         BPF_JMP_IMM(BPF_JNE, BPF_REG_0, 2, 16),
219         BPF_MOV64_IMM(BPF_REG_0, 42),
220         BPF_MOV64_IMM(BPF_REG_0, 42),
221         BPF_MOV64_IMM(BPF_REG_0, 42),
222         BPF_MOV64_IMM(BPF_REG_0, 42),
223         BPF_MOV64_IMM(BPF_REG_0, 42),
224         BPF_MOV64_IMM(BPF_REG_0, 42),
225         BPF_MOV64_IMM(BPF_REG_0, 42),
226         BPF_MOV64_IMM(BPF_REG_0, 42),
227         BPF_MOV64_IMM(BPF_REG_0, 42),
228         BPF_MOV64_IMM(BPF_REG_0, 42),
229         BPF_MOV64_IMM(BPF_REG_0, 42),
230         BPF_MOV64_IMM(BPF_REG_0, 42),
231         BPF_MOV64_IMM(BPF_REG_0, 42),
232         BPF_MOV64_IMM(BPF_REG_0, 42),
233         BPF_MOV64_IMM(BPF_REG_0, 42),
234         BPF_MOV64_IMM(BPF_REG_0, 42),
235         BPF_JMP_IMM(BPF_JA, 0, 0, -20),
236         },
237         .result = ACCEPT,
238         .retval = 3,
239 },
240 {
241         "jump test 8",
242         .insns = {
243         BPF_MOV64_IMM(BPF_REG_0, 1),
244         BPF_MOV64_IMM(BPF_REG_1, 2),
245         BPF_JMP_IMM(BPF_JA, 0, 0, 2),
246         BPF_MOV64_IMM(BPF_REG_0, 3),
247         BPF_EXIT_INSN(),
248         BPF_JMP_REG(BPF_JNE, BPF_REG_0, BPF_REG_1, 16),
249         BPF_MOV64_IMM(BPF_REG_0, 42),
250         BPF_MOV64_IMM(BPF_REG_0, 42),
251         BPF_MOV64_IMM(BPF_REG_0, 42),
252         BPF_MOV64_IMM(BPF_REG_0, 42),
253         BPF_MOV64_IMM(BPF_REG_0, 42),
254         BPF_MOV64_IMM(BPF_REG_0, 42),
255         BPF_MOV64_IMM(BPF_REG_0, 42),
256         BPF_MOV64_IMM(BPF_REG_0, 42),
257         BPF_MOV64_IMM(BPF_REG_0, 42),
258         BPF_MOV64_IMM(BPF_REG_0, 42),
259         BPF_MOV64_IMM(BPF_REG_0, 42),
260         BPF_MOV64_IMM(BPF_REG_0, 42),
261         BPF_MOV64_IMM(BPF_REG_0, 42),
262         BPF_MOV64_IMM(BPF_REG_0, 42),
263         BPF_MOV64_IMM(BPF_REG_0, 42),
264         BPF_MOV64_IMM(BPF_REG_0, 42),
265         BPF_JMP_IMM(BPF_JA, 0, 0, -20),
266         },
267         .result = ACCEPT,
268         .retval = 3,
269 },
270 {
271         "jump/call test 9",
272         .insns = {
273         BPF_MOV64_IMM(BPF_REG_0, 1),
274         BPF_JMP_IMM(BPF_JA, 0, 0, 2),
275         BPF_MOV64_IMM(BPF_REG_0, 3),
276         BPF_EXIT_INSN(),
277         BPF_JMP_IMM(BPF_JNE, BPF_REG_0, 2, 16),
278         BPF_MOV64_IMM(BPF_REG_0, 42),
279         BPF_MOV64_IMM(BPF_REG_0, 42),
280         BPF_MOV64_IMM(BPF_REG_0, 42),
281         BPF_MOV64_IMM(BPF_REG_0, 42),
282         BPF_MOV64_IMM(BPF_REG_0, 42),
283         BPF_MOV64_IMM(BPF_REG_0, 42),
284         BPF_MOV64_IMM(BPF_REG_0, 42),
285         BPF_MOV64_IMM(BPF_REG_0, 42),
286         BPF_MOV64_IMM(BPF_REG_0, 42),
287         BPF_MOV64_IMM(BPF_REG_0, 42),
288         BPF_MOV64_IMM(BPF_REG_0, 42),
289         BPF_MOV64_IMM(BPF_REG_0, 42),
290         BPF_MOV64_IMM(BPF_REG_0, 42),
291         BPF_MOV64_IMM(BPF_REG_0, 42),
292         BPF_MOV64_IMM(BPF_REG_0, 42),
293         BPF_MOV64_IMM(BPF_REG_0, 42),
294         BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, -20),
295         BPF_EXIT_INSN(),
296         },
297         .prog_type = BPF_PROG_TYPE_SCHED_CLS,
298         .result = REJECT,
299         .errstr = "jump out of range from insn 1 to 4",
300 },
301 {
302         "jump/call test 10",
303         .insns = {
304         BPF_MOV64_IMM(BPF_REG_0, 1),
305         BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, 2),
306         BPF_MOV64_IMM(BPF_REG_0, 3),
307         BPF_EXIT_INSN(),
308         BPF_JMP_IMM(BPF_JNE, BPF_REG_0, 2, 16),
309         BPF_MOV64_IMM(BPF_REG_0, 42),
310         BPF_MOV64_IMM(BPF_REG_0, 42),
311         BPF_MOV64_IMM(BPF_REG_0, 42),
312         BPF_MOV64_IMM(BPF_REG_0, 42),
313         BPF_MOV64_IMM(BPF_REG_0, 42),
314         BPF_MOV64_IMM(BPF_REG_0, 42),
315         BPF_MOV64_IMM(BPF_REG_0, 42),
316         BPF_MOV64_IMM(BPF_REG_0, 42),
317         BPF_MOV64_IMM(BPF_REG_0, 42),
318         BPF_MOV64_IMM(BPF_REG_0, 42),
319         BPF_MOV64_IMM(BPF_REG_0, 42),
320         BPF_MOV64_IMM(BPF_REG_0, 42),
321         BPF_MOV64_IMM(BPF_REG_0, 42),
322         BPF_MOV64_IMM(BPF_REG_0, 42),
323         BPF_MOV64_IMM(BPF_REG_0, 42),
324         BPF_MOV64_IMM(BPF_REG_0, 42),
325         BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, -20),
326         BPF_EXIT_INSN(),
327         },
328         .prog_type = BPF_PROG_TYPE_SCHED_CLS,
329         .result = REJECT,
330         .errstr = "last insn is not an exit or jmp",
331 },
332 {
333         "jump/call test 11",
334         .insns = {
335         BPF_MOV64_IMM(BPF_REG_0, 1),
336         BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, 4),
337         BPF_MOV64_IMM(BPF_REG_0, 3),
338         BPF_EXIT_INSN(),
339         BPF_MOV64_IMM(BPF_REG_0, 3),
340         BPF_EXIT_INSN(),
341         BPF_MOV64_IMM(BPF_REG_0, 1),
342         BPF_JMP_IMM(BPF_JNE, BPF_REG_0, 2, 26),
343         BPF_MOV64_IMM(BPF_REG_0, 42),
344         BPF_MOV64_IMM(BPF_REG_0, 42),
345         BPF_MOV64_IMM(BPF_REG_0, 42),
346         BPF_MOV64_IMM(BPF_REG_0, 42),
347         BPF_MOV64_IMM(BPF_REG_0, 42),
348         BPF_MOV64_IMM(BPF_REG_0, 42),
349         BPF_MOV64_IMM(BPF_REG_0, 42),
350         BPF_MOV64_IMM(BPF_REG_0, 42),
351         BPF_MOV64_IMM(BPF_REG_0, 42),
352         BPF_MOV64_IMM(BPF_REG_0, 42),
353         BPF_MOV64_IMM(BPF_REG_0, 42),
354         BPF_MOV64_IMM(BPF_REG_0, 42),
355         BPF_MOV64_IMM(BPF_REG_0, 42),
356         BPF_MOV64_IMM(BPF_REG_0, 42),
357         BPF_MOV64_IMM(BPF_REG_0, 42),
358         BPF_MOV64_IMM(BPF_REG_0, 42),
359         BPF_MOV64_IMM(BPF_REG_0, 42),
360         BPF_MOV64_IMM(BPF_REG_0, 42),
361         BPF_MOV64_IMM(BPF_REG_0, 42),
362         BPF_MOV64_IMM(BPF_REG_0, 42),
363         BPF_MOV64_IMM(BPF_REG_0, 42),
364         BPF_MOV64_IMM(BPF_REG_0, 42),
365         BPF_MOV64_IMM(BPF_REG_0, 42),
366         BPF_MOV64_IMM(BPF_REG_0, 42),
367         BPF_MOV64_IMM(BPF_REG_0, 42),
368         BPF_MOV64_IMM(BPF_REG_0, 42),
369         BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 1, 0, -31),
370         BPF_EXIT_INSN(),
371         },
372         .prog_type = BPF_PROG_TYPE_SCHED_CLS,
373         .result = ACCEPT,
374         .retval = 3,
375 },