brintos

brintos / linux-shallow public Read only

0
0
Text · 3.1 KiB · 78f19c2 Raw
147 lines · c
1{2	"test1 ld_imm64",3	.insns = {4	BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, 0, 1),5	BPF_LD_IMM64(BPF_REG_0, 0),6	BPF_LD_IMM64(BPF_REG_0, 0),7	BPF_LD_IMM64(BPF_REG_0, 1),8	BPF_LD_IMM64(BPF_REG_0, 1),9	BPF_MOV64_IMM(BPF_REG_0, 2),10	BPF_EXIT_INSN(),11	},12	.errstr = "jump into the middle of ldimm64 insn 1",13	.errstr_unpriv = "jump into the middle of ldimm64 insn 1",14	.result = REJECT,15},16{17	"test2 ld_imm64",18	.insns = {19	BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, 0, 1),20	BPF_LD_IMM64(BPF_REG_0, 0),21	BPF_LD_IMM64(BPF_REG_0, 0),22	BPF_LD_IMM64(BPF_REG_0, 1),23	BPF_LD_IMM64(BPF_REG_0, 1),24	BPF_EXIT_INSN(),25	},26	.errstr = "jump into the middle of ldimm64 insn 1",27	.errstr_unpriv = "jump into the middle of ldimm64 insn 1",28	.result = REJECT,29},30{31	"test3 ld_imm64",32	.insns = {33	BPF_JMP_IMM(BPF_JEQ, BPF_REG_1, 0, 1),34	BPF_RAW_INSN(BPF_LD | BPF_IMM | BPF_DW, 0, 0, 0, 0),35	BPF_LD_IMM64(BPF_REG_0, 0),36	BPF_LD_IMM64(BPF_REG_0, 0),37	BPF_LD_IMM64(BPF_REG_0, 1),38	BPF_LD_IMM64(BPF_REG_0, 1),39	BPF_EXIT_INSN(),40	},41	.errstr = "invalid bpf_ld_imm64 insn",42	.result = REJECT,43},44{45	"test4 ld_imm64",46	.insns = {47	BPF_RAW_INSN(BPF_LD | BPF_IMM | BPF_DW, 0, 0, 0, 0),48	BPF_EXIT_INSN(),49	},50	.errstr = "invalid bpf_ld_imm64 insn",51	.result = REJECT,52},53{54	"test6 ld_imm64",55	.insns = {56	BPF_RAW_INSN(BPF_LD | BPF_IMM | BPF_DW, 0, 0, 0, 0),57	BPF_RAW_INSN(0, 0, 0, 0, 0),58	BPF_EXIT_INSN(),59	},60	.result = ACCEPT,61},62{63	"test7 ld_imm64",64	.insns = {65	BPF_RAW_INSN(BPF_LD | BPF_IMM | BPF_DW, 0, 0, 0, 1),66	BPF_RAW_INSN(0, 0, 0, 0, 1),67	BPF_EXIT_INSN(),68	},69	.result = ACCEPT,70	.retval = 1,71},72{73	"test8 ld_imm64",74	.insns = {75	BPF_RAW_INSN(BPF_LD | BPF_IMM | BPF_DW, 0, 0, 1, 1),76	BPF_RAW_INSN(0, 0, 0, 0, 1),77	BPF_EXIT_INSN(),78	},79	.errstr = "uses reserved fields",80	.result = REJECT,81},82{83	"test9 ld_imm64",84	.insns = {85	BPF_RAW_INSN(BPF_LD | BPF_IMM | BPF_DW, 0, 0, 0, 1),86	BPF_RAW_INSN(0, 0, 0, 1, 1),87	BPF_EXIT_INSN(),88	},89	.errstr = "invalid bpf_ld_imm64 insn",90	.result = REJECT,91},92{93	"test10 ld_imm64",94	.insns = {95	BPF_RAW_INSN(BPF_LD | BPF_IMM | BPF_DW, 0, 0, 0, 1),96	BPF_RAW_INSN(0, BPF_REG_1, 0, 0, 1),97	BPF_EXIT_INSN(),98	},99	.errstr = "invalid bpf_ld_imm64 insn",100	.result = REJECT,101},102{103	"test11 ld_imm64",104	.insns = {105	BPF_RAW_INSN(BPF_LD | BPF_IMM | BPF_DW, 0, 0, 0, 1),106	BPF_RAW_INSN(0, 0, BPF_REG_1, 0, 1),107	BPF_EXIT_INSN(),108	},109	.errstr = "invalid bpf_ld_imm64 insn",110	.result = REJECT,111},112{113	"test12 ld_imm64",114	.insns = {115	BPF_MOV64_IMM(BPF_REG_1, 0),116	BPF_RAW_INSN(BPF_LD | BPF_IMM | BPF_DW, 0, BPF_REG_1, 0, 1),117	BPF_RAW_INSN(0, 0, 0, 0, 0),118	BPF_EXIT_INSN(),119	},120	.errstr = "not pointing to valid bpf_map",121	.result = REJECT,122},123{124	"test13 ld_imm64",125	.insns = {126	BPF_MOV64_IMM(BPF_REG_1, 0),127	BPF_RAW_INSN(BPF_LD | BPF_IMM | BPF_DW, 0, BPF_REG_1, 0, 1),128	BPF_RAW_INSN(0, 0, BPF_REG_1, 0, 1),129	BPF_EXIT_INSN(),130	},131	.errstr = "invalid bpf_ld_imm64 insn",132	.result = REJECT,133},134{135	"test14 ld_imm64: reject 2nd imm != 0",136	.insns = {137	BPF_MOV64_IMM(BPF_REG_0, 0),138	BPF_RAW_INSN(BPF_LD | BPF_IMM | BPF_DW, BPF_REG_1,139		     BPF_PSEUDO_MAP_FD, 0, 0),140	BPF_RAW_INSN(0, 0, 0, 0, 0xfefefe),141	BPF_EXIT_INSN(),142	},143	.fixup_map_hash_48b = { 1 },144	.errstr = "unrecognized bpf_ld_imm64 insn",145	.result = REJECT,146},147