Linux Audio

Check our new training course

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},