Skip to content

Commit a680cb3

Browse files
andreimateiAlexei Starovoitov
authored andcommitted
selftest/bpf: Adjust expected verifier errors
The verifier errors around stack accesses have changed slightly in the previous commit (generally for the better). Signed-off-by: Andrei Matei <[email protected]> Signed-off-by: Alexei Starovoitov <[email protected]> Link: https://lore.kernel.org/bpf/[email protected]
1 parent 01f810a commit a680cb3

File tree

9 files changed

+41
-37
lines changed

9 files changed

+41
-37
lines changed

tools/testing/selftests/bpf/verifier/basic_stack.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
BPF_ST_MEM(BPF_DW, BPF_REG_10, 8, 0),
55
BPF_EXIT_INSN(),
66
},
7-
.errstr = "invalid stack",
7+
.errstr = "invalid write to stack",
88
.result = REJECT,
99
},
1010
{

tools/testing/selftests/bpf/verifier/calls.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1228,7 +1228,7 @@
12281228
.prog_type = BPF_PROG_TYPE_XDP,
12291229
.fixup_map_hash_8b = { 23 },
12301230
.result = REJECT,
1231-
.errstr = "invalid read from stack off -16+0 size 8",
1231+
.errstr = "invalid read from stack R7 off=-16 size=8",
12321232
},
12331233
{
12341234
"calls: two calls that receive map_value via arg=ptr_stack_of_caller. test1",
@@ -1958,7 +1958,7 @@
19581958
BPF_EXIT_INSN(),
19591959
},
19601960
.fixup_map_hash_48b = { 6 },
1961-
.errstr = "invalid indirect read from stack off -8+0 size 8",
1961+
.errstr = "invalid indirect read from stack R2 off -8+0 size 8",
19621962
.result = REJECT,
19631963
.prog_type = BPF_PROG_TYPE_XDP,
19641964
},

tools/testing/selftests/bpf/verifier/const_or.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
BPF_EMIT_CALL(BPF_FUNC_probe_read_kernel),
2424
BPF_EXIT_INSN(),
2525
},
26-
.errstr = "invalid stack type R1 off=-48 access_size=58",
26+
.errstr = "invalid indirect access to stack R1 off=-48 size=58",
2727
.result = REJECT,
2828
.prog_type = BPF_PROG_TYPE_TRACEPOINT,
2929
},
@@ -54,7 +54,7 @@
5454
BPF_EMIT_CALL(BPF_FUNC_probe_read_kernel),
5555
BPF_EXIT_INSN(),
5656
},
57-
.errstr = "invalid stack type R1 off=-48 access_size=58",
57+
.errstr = "invalid indirect access to stack R1 off=-48 size=58",
5858
.result = REJECT,
5959
.prog_type = BPF_PROG_TYPE_TRACEPOINT,
6060
},

tools/testing/selftests/bpf/verifier/helper_access_var_len.c

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@
3939
BPF_EMIT_CALL(BPF_FUNC_probe_read_kernel),
4040
BPF_EXIT_INSN(),
4141
},
42-
.errstr = "invalid indirect read from stack off -64+0 size 64",
42+
.errstr = "invalid indirect read from stack R1 off -64+0 size 64",
4343
.result = REJECT,
4444
.prog_type = BPF_PROG_TYPE_TRACEPOINT,
4545
},
@@ -59,7 +59,7 @@
5959
BPF_MOV64_IMM(BPF_REG_0, 0),
6060
BPF_EXIT_INSN(),
6161
},
62-
.errstr = "invalid stack type R1 off=-64 access_size=65",
62+
.errstr = "invalid indirect access to stack R1 off=-64 size=65",
6363
.result = REJECT,
6464
.prog_type = BPF_PROG_TYPE_TRACEPOINT,
6565
},
@@ -136,7 +136,7 @@
136136
BPF_MOV64_IMM(BPF_REG_0, 0),
137137
BPF_EXIT_INSN(),
138138
},
139-
.errstr = "invalid stack type R1 off=-64 access_size=65",
139+
.errstr = "invalid indirect access to stack R1 off=-64 size=65",
140140
.result = REJECT,
141141
.prog_type = BPF_PROG_TYPE_TRACEPOINT,
142142
},
@@ -156,7 +156,7 @@
156156
BPF_MOV64_IMM(BPF_REG_0, 0),
157157
BPF_EXIT_INSN(),
158158
},
159-
.errstr = "invalid stack type R1 off=-64 access_size=65",
159+
.errstr = "invalid indirect access to stack R1 off=-64 size=65",
160160
.result = REJECT,
161161
.prog_type = BPF_PROG_TYPE_TRACEPOINT,
162162
},
@@ -194,7 +194,7 @@
194194
BPF_MOV64_IMM(BPF_REG_0, 0),
195195
BPF_EXIT_INSN(),
196196
},
197-
.errstr = "invalid indirect read from stack off -64+0 size 64",
197+
.errstr = "invalid indirect read from stack R1 off -64+0 size 64",
198198
.result = REJECT,
199199
.prog_type = BPF_PROG_TYPE_TRACEPOINT,
200200
},
@@ -584,7 +584,7 @@
584584
BPF_LDX_MEM(BPF_DW, BPF_REG_1, BPF_REG_10, -16),
585585
BPF_EXIT_INSN(),
586586
},
587-
.errstr = "invalid indirect read from stack off -64+32 size 64",
587+
.errstr = "invalid indirect read from stack R1 off -64+32 size 64",
588588
.result = REJECT,
589589
.prog_type = BPF_PROG_TYPE_TRACEPOINT,
590590
},

tools/testing/selftests/bpf/verifier/int_ptr.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
},
2828
.result = REJECT,
2929
.prog_type = BPF_PROG_TYPE_CGROUP_SYSCTL,
30-
.errstr = "invalid indirect read from stack off -16+0 size 8",
30+
.errstr = "invalid indirect read from stack R4 off -16+0 size 8",
3131
},
3232
{
3333
"ARG_PTR_TO_LONG half-uninitialized",
@@ -59,7 +59,7 @@
5959
},
6060
.result = REJECT,
6161
.prog_type = BPF_PROG_TYPE_CGROUP_SYSCTL,
62-
.errstr = "invalid indirect read from stack off -16+4 size 8",
62+
.errstr = "invalid indirect read from stack R4 off -16+4 size 8",
6363
},
6464
{
6565
"ARG_PTR_TO_LONG misaligned",
@@ -125,7 +125,7 @@
125125
},
126126
.result = REJECT,
127127
.prog_type = BPF_PROG_TYPE_CGROUP_SYSCTL,
128-
.errstr = "invalid stack type R4 off=-4 access_size=8",
128+
.errstr = "invalid indirect access to stack R4 off=-4 size=8",
129129
},
130130
{
131131
"ARG_PTR_TO_LONG initialized",

tools/testing/selftests/bpf/verifier/raw_stack.c

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111
BPF_EXIT_INSN(),
1212
},
1313
.result = REJECT,
14-
.errstr = "invalid read from stack off -8+0 size 8",
14+
.errstr = "invalid read from stack R6 off=-8 size=8",
1515
.prog_type = BPF_PROG_TYPE_SCHED_CLS,
1616
},
1717
{
@@ -59,7 +59,7 @@
5959
BPF_EXIT_INSN(),
6060
},
6161
.result = REJECT,
62-
.errstr = "invalid stack type R3",
62+
.errstr = "invalid zero-sized read",
6363
.prog_type = BPF_PROG_TYPE_SCHED_CLS,
6464
},
6565
{
@@ -205,7 +205,7 @@
205205
BPF_EXIT_INSN(),
206206
},
207207
.result = REJECT,
208-
.errstr = "invalid stack type R3 off=-513 access_size=8",
208+
.errstr = "invalid indirect access to stack R3 off=-513 size=8",
209209
.prog_type = BPF_PROG_TYPE_SCHED_CLS,
210210
},
211211
{
@@ -221,7 +221,7 @@
221221
BPF_EXIT_INSN(),
222222
},
223223
.result = REJECT,
224-
.errstr = "invalid stack type R3 off=-1 access_size=8",
224+
.errstr = "invalid indirect access to stack R3 off=-1 size=8",
225225
.prog_type = BPF_PROG_TYPE_SCHED_CLS,
226226
},
227227
{
@@ -285,7 +285,7 @@
285285
BPF_EXIT_INSN(),
286286
},
287287
.result = REJECT,
288-
.errstr = "invalid stack type R3 off=-512 access_size=0",
288+
.errstr = "invalid zero-sized read",
289289
.prog_type = BPF_PROG_TYPE_SCHED_CLS,
290290
},
291291
{

tools/testing/selftests/bpf/verifier/stack_ptr.c

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@
4444
BPF_EXIT_INSN(),
4545
},
4646
.result = REJECT,
47-
.errstr = "invalid stack off=-79992 size=8",
47+
.errstr = "invalid write to stack R1 off=-79992 size=8",
4848
.errstr_unpriv = "R1 stack pointer arithmetic goes out of range",
4949
},
5050
{
@@ -57,7 +57,7 @@
5757
BPF_EXIT_INSN(),
5858
},
5959
.result = REJECT,
60-
.errstr = "invalid stack off=0 size=8",
60+
.errstr = "invalid write to stack R1 off=0 size=8",
6161
},
6262
{
6363
"PTR_TO_STACK check high 1",
@@ -106,7 +106,7 @@
106106
BPF_EXIT_INSN(),
107107
},
108108
.errstr_unpriv = "R1 stack pointer arithmetic goes out of range",
109-
.errstr = "invalid stack off=0 size=1",
109+
.errstr = "invalid write to stack R1 off=0 size=1",
110110
.result = REJECT,
111111
},
112112
{
@@ -119,7 +119,8 @@
119119
BPF_EXIT_INSN(),
120120
},
121121
.result = REJECT,
122-
.errstr = "invalid stack off",
122+
.errstr_unpriv = "R1 stack pointer arithmetic goes out of range",
123+
.errstr = "invalid write to stack R1",
123124
},
124125
{
125126
"PTR_TO_STACK check high 6",
@@ -131,7 +132,8 @@
131132
BPF_EXIT_INSN(),
132133
},
133134
.result = REJECT,
134-
.errstr = "invalid stack off",
135+
.errstr_unpriv = "R1 stack pointer arithmetic goes out of range",
136+
.errstr = "invalid write to stack",
135137
},
136138
{
137139
"PTR_TO_STACK check high 7",
@@ -183,7 +185,7 @@
183185
BPF_EXIT_INSN(),
184186
},
185187
.errstr_unpriv = "R1 stack pointer arithmetic goes out of range",
186-
.errstr = "invalid stack off=-513 size=1",
188+
.errstr = "invalid write to stack R1 off=-513 size=1",
187189
.result = REJECT,
188190
},
189191
{
@@ -208,7 +210,8 @@
208210
BPF_EXIT_INSN(),
209211
},
210212
.result = REJECT,
211-
.errstr = "invalid stack off",
213+
.errstr_unpriv = "R1 stack pointer arithmetic goes out of range",
214+
.errstr = "invalid write to stack",
212215
},
213216
{
214217
"PTR_TO_STACK check low 6",
@@ -220,7 +223,8 @@
220223
BPF_EXIT_INSN(),
221224
},
222225
.result = REJECT,
223-
.errstr = "invalid stack off",
226+
.errstr = "invalid write to stack",
227+
.errstr_unpriv = "R1 stack pointer arithmetic goes out of range",
224228
},
225229
{
226230
"PTR_TO_STACK check low 7",
@@ -292,7 +296,7 @@
292296
BPF_EXIT_INSN(),
293297
},
294298
.result_unpriv = REJECT,
295-
.errstr_unpriv = "invalid stack off=0 size=1",
299+
.errstr_unpriv = "invalid write to stack R1 off=0 size=1",
296300
.result = ACCEPT,
297301
.retval = 42,
298302
},

tools/testing/selftests/bpf/verifier/unpriv.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@
108108
BPF_EXIT_INSN(),
109109
},
110110
.fixup_map_hash_8b = { 3 },
111-
.errstr_unpriv = "invalid indirect read from stack off -8+0 size 8",
111+
.errstr_unpriv = "invalid indirect read from stack R2 off -8+0 size 8",
112112
.result_unpriv = REJECT,
113113
.result = ACCEPT,
114114
},

tools/testing/selftests/bpf/verifier/var_off.c

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
.prog_type = BPF_PROG_TYPE_LWT_IN,
1919
},
2020
{
21-
"variable-offset stack access",
21+
"variable-offset stack read, priv vs unpriv",
2222
.insns = {
2323
/* Fill the top 8 bytes of the stack */
2424
BPF_ST_MEM(BPF_DW, BPF_REG_10, -8, 0),
@@ -63,7 +63,7 @@
6363
BPF_MOV64_IMM(BPF_REG_0, 0),
6464
BPF_EXIT_INSN(),
6565
},
66-
.errstr = "R4 unbounded indirect variable offset stack access",
66+
.errstr = "invalid unbounded variable-offset indirect access to stack R4",
6767
.result = REJECT,
6868
.prog_type = BPF_PROG_TYPE_SOCK_OPS,
6969
},
@@ -88,7 +88,7 @@
8888
BPF_EXIT_INSN(),
8989
},
9090
.fixup_map_hash_8b = { 5 },
91-
.errstr = "R2 max value is outside of stack bound",
91+
.errstr = "invalid variable-offset indirect access to stack R2",
9292
.result = REJECT,
9393
.prog_type = BPF_PROG_TYPE_LWT_IN,
9494
},
@@ -113,7 +113,7 @@
113113
BPF_EXIT_INSN(),
114114
},
115115
.fixup_map_hash_8b = { 5 },
116-
.errstr = "R2 min value is outside of stack bound",
116+
.errstr = "invalid variable-offset indirect access to stack R2",
117117
.result = REJECT,
118118
.prog_type = BPF_PROG_TYPE_LWT_IN,
119119
},
@@ -138,7 +138,7 @@
138138
BPF_EXIT_INSN(),
139139
},
140140
.fixup_map_hash_8b = { 5 },
141-
.errstr = "invalid indirect read from stack var_off",
141+
.errstr = "invalid indirect read from stack R2 var_off",
142142
.result = REJECT,
143143
.prog_type = BPF_PROG_TYPE_LWT_IN,
144144
},
@@ -163,7 +163,7 @@
163163
BPF_EXIT_INSN(),
164164
},
165165
.fixup_map_hash_8b = { 5 },
166-
.errstr = "invalid indirect read from stack var_off",
166+
.errstr = "invalid indirect read from stack R2 var_off",
167167
.result = REJECT,
168168
.prog_type = BPF_PROG_TYPE_LWT_IN,
169169
},
@@ -189,7 +189,7 @@
189189
BPF_EXIT_INSN(),
190190
},
191191
.fixup_map_hash_8b = { 6 },
192-
.errstr_unpriv = "R2 stack pointer arithmetic goes out of range, prohibited for !root",
192+
.errstr_unpriv = "R2 variable stack access prohibited for !root",
193193
.result_unpriv = REJECT,
194194
.result = ACCEPT,
195195
.prog_type = BPF_PROG_TYPE_CGROUP_SKB,
@@ -217,7 +217,7 @@
217217
BPF_MOV64_IMM(BPF_REG_0, 0),
218218
BPF_EXIT_INSN(),
219219
},
220-
.errstr = "invalid indirect read from stack var_off",
220+
.errstr = "invalid indirect read from stack R4 var_off",
221221
.result = REJECT,
222222
.prog_type = BPF_PROG_TYPE_SOCK_OPS,
223223
},

0 commit comments

Comments
 (0)