Skip to content

Commit 0a68632

Browse files
davem330Alexei Starovoitov
authored andcommitted
bpf: Apply F_NEEDS_EFFICIENT_UNALIGNED_ACCESS to more ACCEPT test cases.
If a testcase has alignment problems but is expected to be ACCEPT, verify it using F_NEEDS_EFFICIENT_UNALIGNED_ACCESS too. Maybe in the future if we add some architecture specific code to elide the unaligned memory access warnings during the test, we can execute these as well. Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Alexei Starovoitov <ast@kernel.org>
1 parent 2acc5fd commit 0a68632

File tree

1 file changed

+17
-0
lines changed

1 file changed

+17
-0
lines changed

tools/testing/selftests/bpf/test_verifier.c

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3918,6 +3918,7 @@ static struct bpf_test tests[] = {
39183918
},
39193919
.prog_type = BPF_PROG_TYPE_SCHED_CLS,
39203920
.result = ACCEPT,
3921+
.flags = F_NEEDS_EFFICIENT_UNALIGNED_ACCESS,
39213922
},
39223923
{
39233924
"direct packet access: test21 (x += pkt_ptr, 2)",
@@ -3943,6 +3944,7 @@ static struct bpf_test tests[] = {
39433944
},
39443945
.prog_type = BPF_PROG_TYPE_SCHED_CLS,
39453946
.result = ACCEPT,
3947+
.flags = F_NEEDS_EFFICIENT_UNALIGNED_ACCESS,
39463948
},
39473949
{
39483950
"direct packet access: test22 (x += pkt_ptr, 3)",
@@ -3973,6 +3975,7 @@ static struct bpf_test tests[] = {
39733975
},
39743976
.prog_type = BPF_PROG_TYPE_SCHED_CLS,
39753977
.result = ACCEPT,
3978+
.flags = F_NEEDS_EFFICIENT_UNALIGNED_ACCESS,
39763979
},
39773980
{
39783981
"direct packet access: test23 (x += pkt_ptr, 4)",
@@ -4025,6 +4028,7 @@ static struct bpf_test tests[] = {
40254028
},
40264029
.prog_type = BPF_PROG_TYPE_SCHED_CLS,
40274030
.result = ACCEPT,
4031+
.flags = F_NEEDS_EFFICIENT_UNALIGNED_ACCESS,
40284032
},
40294033
{
40304034
"direct packet access: test25 (marking on <, good access)",
@@ -7732,6 +7736,7 @@ static struct bpf_test tests[] = {
77327736
.result = ACCEPT,
77337737
.prog_type = BPF_PROG_TYPE_SCHED_CLS,
77347738
.retval = 0 /* csum_diff of 64-byte packet */,
7739+
.flags = F_NEEDS_EFFICIENT_UNALIGNED_ACCESS,
77357740
},
77367741
{
77377742
"helper access to variable memory: size = 0 not allowed on NULL (!ARG_PTR_TO_MEM_OR_NULL)",
@@ -9694,6 +9699,7 @@ static struct bpf_test tests[] = {
96949699
},
96959700
.result = ACCEPT,
96969701
.prog_type = BPF_PROG_TYPE_XDP,
9702+
.flags = F_NEEDS_EFFICIENT_UNALIGNED_ACCESS,
96979703
},
96989704
{
96999705
"XDP pkt read, pkt_data' > pkt_end, bad access 1",
@@ -9865,6 +9871,7 @@ static struct bpf_test tests[] = {
98659871
},
98669872
.result = ACCEPT,
98679873
.prog_type = BPF_PROG_TYPE_XDP,
9874+
.flags = F_NEEDS_EFFICIENT_UNALIGNED_ACCESS,
98689875
},
98699876
{
98709877
"XDP pkt read, pkt_end < pkt_data', bad access 1",
@@ -9977,6 +9984,7 @@ static struct bpf_test tests[] = {
99779984
},
99789985
.result = ACCEPT,
99799986
.prog_type = BPF_PROG_TYPE_XDP,
9987+
.flags = F_NEEDS_EFFICIENT_UNALIGNED_ACCESS,
99809988
},
99819989
{
99829990
"XDP pkt read, pkt_end >= pkt_data', bad access 1",
@@ -10034,6 +10042,7 @@ static struct bpf_test tests[] = {
1003410042
},
1003510043
.result = ACCEPT,
1003610044
.prog_type = BPF_PROG_TYPE_XDP,
10045+
.flags = F_NEEDS_EFFICIENT_UNALIGNED_ACCESS,
1003710046
},
1003810047
{
1003910048
"XDP pkt read, pkt_data' <= pkt_end, bad access 1",
@@ -10146,6 +10155,7 @@ static struct bpf_test tests[] = {
1014610155
},
1014710156
.result = ACCEPT,
1014810157
.prog_type = BPF_PROG_TYPE_XDP,
10158+
.flags = F_NEEDS_EFFICIENT_UNALIGNED_ACCESS,
1014910159
},
1015010160
{
1015110161
"XDP pkt read, pkt_meta' > pkt_data, bad access 1",
@@ -10317,6 +10327,7 @@ static struct bpf_test tests[] = {
1031710327
},
1031810328
.result = ACCEPT,
1031910329
.prog_type = BPF_PROG_TYPE_XDP,
10330+
.flags = F_NEEDS_EFFICIENT_UNALIGNED_ACCESS,
1032010331
},
1032110332
{
1032210333
"XDP pkt read, pkt_data < pkt_meta', bad access 1",
@@ -10429,6 +10440,7 @@ static struct bpf_test tests[] = {
1042910440
},
1043010441
.result = ACCEPT,
1043110442
.prog_type = BPF_PROG_TYPE_XDP,
10443+
.flags = F_NEEDS_EFFICIENT_UNALIGNED_ACCESS,
1043210444
},
1043310445
{
1043410446
"XDP pkt read, pkt_data >= pkt_meta', bad access 1",
@@ -10486,6 +10498,7 @@ static struct bpf_test tests[] = {
1048610498
},
1048710499
.result = ACCEPT,
1048810500
.prog_type = BPF_PROG_TYPE_XDP,
10501+
.flags = F_NEEDS_EFFICIENT_UNALIGNED_ACCESS,
1048910502
},
1049010503
{
1049110504
"XDP pkt read, pkt_meta' <= pkt_data, bad access 1",
@@ -12405,6 +12418,7 @@ static struct bpf_test tests[] = {
1240512418
.prog_type = BPF_PROG_TYPE_SCHED_CLS,
1240612419
.result = ACCEPT,
1240712420
.retval = 1,
12421+
.flags = F_NEEDS_EFFICIENT_UNALIGNED_ACCESS,
1240812422
},
1240912423
{
1241012424
"calls: pkt_ptr spill into caller stack 4",
@@ -12439,6 +12453,7 @@ static struct bpf_test tests[] = {
1243912453
.prog_type = BPF_PROG_TYPE_SCHED_CLS,
1244012454
.result = ACCEPT,
1244112455
.retval = 1,
12456+
.flags = F_NEEDS_EFFICIENT_UNALIGNED_ACCESS,
1244212457
},
1244312458
{
1244412459
"calls: pkt_ptr spill into caller stack 5",
@@ -12584,6 +12599,7 @@ static struct bpf_test tests[] = {
1258412599
},
1258512600
.prog_type = BPF_PROG_TYPE_SCHED_CLS,
1258612601
.result = ACCEPT,
12602+
.flags = F_NEEDS_EFFICIENT_UNALIGNED_ACCESS,
1258712603
},
1258812604
{
1258912605
"calls: pkt_ptr spill into caller stack 9",
@@ -13507,6 +13523,7 @@ static struct bpf_test tests[] = {
1350713523
},
1350813524
.prog_type = BPF_PROG_TYPE_SCHED_CLS,
1350913525
.result = ACCEPT,
13526+
.flags = F_NEEDS_EFFICIENT_UNALIGNED_ACCESS,
1351013527
},
1351113528
{
1351213529
"reference tracking in call: free reference in subprog",

0 commit comments

Comments
 (0)