Loading...
Note: File does not exist in v6.13.7.
1{
2 "DIV32 by 0, zero check 1",
3 .insns = {
4 BPF_MOV32_IMM(BPF_REG_0, 42),
5 BPF_MOV32_IMM(BPF_REG_1, 0),
6 BPF_MOV32_IMM(BPF_REG_2, 1),
7 BPF_ALU32_REG(BPF_DIV, BPF_REG_2, BPF_REG_1),
8 BPF_EXIT_INSN(),
9 },
10 .result = ACCEPT,
11 .retval = 42,
12},
13{
14 "DIV32 by 0, zero check 2",
15 .insns = {
16 BPF_MOV32_IMM(BPF_REG_0, 42),
17 BPF_LD_IMM64(BPF_REG_1, 0xffffffff00000000LL),
18 BPF_MOV32_IMM(BPF_REG_2, 1),
19 BPF_ALU32_REG(BPF_DIV, BPF_REG_2, BPF_REG_1),
20 BPF_EXIT_INSN(),
21 },
22 .result = ACCEPT,
23 .retval = 42,
24},
25{
26 "DIV64 by 0, zero check",
27 .insns = {
28 BPF_MOV32_IMM(BPF_REG_0, 42),
29 BPF_MOV32_IMM(BPF_REG_1, 0),
30 BPF_MOV32_IMM(BPF_REG_2, 1),
31 BPF_ALU64_REG(BPF_DIV, BPF_REG_2, BPF_REG_1),
32 BPF_EXIT_INSN(),
33 },
34 .result = ACCEPT,
35 .retval = 42,
36},
37{
38 "MOD32 by 0, zero check 1",
39 .insns = {
40 BPF_MOV32_IMM(BPF_REG_0, 42),
41 BPF_MOV32_IMM(BPF_REG_1, 0),
42 BPF_MOV32_IMM(BPF_REG_2, 1),
43 BPF_ALU32_REG(BPF_MOD, BPF_REG_2, BPF_REG_1),
44 BPF_EXIT_INSN(),
45 },
46 .result = ACCEPT,
47 .retval = 42,
48},
49{
50 "MOD32 by 0, zero check 2",
51 .insns = {
52 BPF_MOV32_IMM(BPF_REG_0, 42),
53 BPF_LD_IMM64(BPF_REG_1, 0xffffffff00000000LL),
54 BPF_MOV32_IMM(BPF_REG_2, 1),
55 BPF_ALU32_REG(BPF_MOD, BPF_REG_2, BPF_REG_1),
56 BPF_EXIT_INSN(),
57 },
58 .result = ACCEPT,
59 .retval = 42,
60},
61{
62 "MOD64 by 0, zero check",
63 .insns = {
64 BPF_MOV32_IMM(BPF_REG_0, 42),
65 BPF_MOV32_IMM(BPF_REG_1, 0),
66 BPF_MOV32_IMM(BPF_REG_2, 1),
67 BPF_ALU64_REG(BPF_MOD, BPF_REG_2, BPF_REG_1),
68 BPF_EXIT_INSN(),
69 },
70 .result = ACCEPT,
71 .retval = 42,
72},
73{
74 "DIV32 by 0, zero check ok, cls",
75 .insns = {
76 BPF_MOV32_IMM(BPF_REG_0, 42),
77 BPF_MOV32_IMM(BPF_REG_1, 2),
78 BPF_MOV32_IMM(BPF_REG_2, 16),
79 BPF_ALU32_REG(BPF_DIV, BPF_REG_2, BPF_REG_1),
80 BPF_MOV64_REG(BPF_REG_0, BPF_REG_2),
81 BPF_EXIT_INSN(),
82 },
83 .prog_type = BPF_PROG_TYPE_SCHED_CLS,
84 .result = ACCEPT,
85 .retval = 8,
86},
87{
88 "DIV32 by 0, zero check 1, cls",
89 .insns = {
90 BPF_MOV32_IMM(BPF_REG_1, 0),
91 BPF_MOV32_IMM(BPF_REG_0, 1),
92 BPF_ALU32_REG(BPF_DIV, BPF_REG_0, BPF_REG_1),
93 BPF_EXIT_INSN(),
94 },
95 .prog_type = BPF_PROG_TYPE_SCHED_CLS,
96 .result = ACCEPT,
97 .retval = 0,
98},
99{
100 "DIV32 by 0, zero check 2, cls",
101 .insns = {
102 BPF_LD_IMM64(BPF_REG_1, 0xffffffff00000000LL),
103 BPF_MOV32_IMM(BPF_REG_0, 1),
104 BPF_ALU32_REG(BPF_DIV, BPF_REG_0, BPF_REG_1),
105 BPF_EXIT_INSN(),
106 },
107 .prog_type = BPF_PROG_TYPE_SCHED_CLS,
108 .result = ACCEPT,
109 .retval = 0,
110},
111{
112 "DIV64 by 0, zero check, cls",
113 .insns = {
114 BPF_MOV32_IMM(BPF_REG_1, 0),
115 BPF_MOV32_IMM(BPF_REG_0, 1),
116 BPF_ALU64_REG(BPF_DIV, BPF_REG_0, BPF_REG_1),
117 BPF_EXIT_INSN(),
118 },
119 .prog_type = BPF_PROG_TYPE_SCHED_CLS,
120 .result = ACCEPT,
121 .retval = 0,
122},
123{
124 "MOD32 by 0, zero check ok, cls",
125 .insns = {
126 BPF_MOV32_IMM(BPF_REG_0, 42),
127 BPF_MOV32_IMM(BPF_REG_1, 3),
128 BPF_MOV32_IMM(BPF_REG_2, 5),
129 BPF_ALU32_REG(BPF_MOD, BPF_REG_2, BPF_REG_1),
130 BPF_MOV64_REG(BPF_REG_0, BPF_REG_2),
131 BPF_EXIT_INSN(),
132 },
133 .prog_type = BPF_PROG_TYPE_SCHED_CLS,
134 .result = ACCEPT,
135 .retval = 2,
136},
137{
138 "MOD32 by 0, zero check 1, cls",
139 .insns = {
140 BPF_MOV32_IMM(BPF_REG_1, 0),
141 BPF_MOV32_IMM(BPF_REG_0, 1),
142 BPF_ALU32_REG(BPF_MOD, BPF_REG_0, BPF_REG_1),
143 BPF_EXIT_INSN(),
144 },
145 .prog_type = BPF_PROG_TYPE_SCHED_CLS,
146 .result = ACCEPT,
147 .retval = 1,
148},
149{
150 "MOD32 by 0, zero check 2, cls",
151 .insns = {
152 BPF_LD_IMM64(BPF_REG_1, 0xffffffff00000000LL),
153 BPF_MOV32_IMM(BPF_REG_0, 1),
154 BPF_ALU32_REG(BPF_MOD, BPF_REG_0, BPF_REG_1),
155 BPF_EXIT_INSN(),
156 },
157 .prog_type = BPF_PROG_TYPE_SCHED_CLS,
158 .result = ACCEPT,
159 .retval = 1,
160},
161{
162 "MOD64 by 0, zero check 1, cls",
163 .insns = {
164 BPF_MOV32_IMM(BPF_REG_1, 0),
165 BPF_MOV32_IMM(BPF_REG_0, 2),
166 BPF_ALU64_REG(BPF_MOD, BPF_REG_0, BPF_REG_1),
167 BPF_EXIT_INSN(),
168 },
169 .prog_type = BPF_PROG_TYPE_SCHED_CLS,
170 .result = ACCEPT,
171 .retval = 2,
172},
173{
174 "MOD64 by 0, zero check 2, cls",
175 .insns = {
176 BPF_MOV32_IMM(BPF_REG_1, 0),
177 BPF_MOV32_IMM(BPF_REG_0, -1),
178 BPF_ALU64_REG(BPF_MOD, BPF_REG_0, BPF_REG_1),
179 BPF_EXIT_INSN(),
180 },
181 .prog_type = BPF_PROG_TYPE_SCHED_CLS,
182 .result = ACCEPT,
183 .retval = -1,
184},