1{
2	"invalid call insn1",
3	.insns = {
4	BPF_RAW_INSN(BPF_JMP | BPF_CALL | BPF_X, 0, 0, 0, 0),
5	BPF_EXIT_INSN(),
6	},
7	.errstr = "unknown opcode 8d",
8	.result = REJECT,
9},
10{
11	"invalid call insn2",
12	.insns = {
13	BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 0, 1, 0),
14	BPF_EXIT_INSN(),
15	},
16	.errstr = "BPF_CALL uses reserved",
17	.result = REJECT,
18},
19{
20	"invalid function call",
21	.insns = {
22	BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 0, 0, 1234567),
23	BPF_EXIT_INSN(),
24	},
25	.errstr = "invalid func unknown#1234567",
26	.result = REJECT,
27},
28{
29	"invalid argument register",
30	.insns = {
31	BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 0, 0, BPF_FUNC_get_cgroup_classid),
32	BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 0, 0, BPF_FUNC_get_cgroup_classid),
33	BPF_EXIT_INSN(),
34	},
35	.errstr = "R1 !read_ok",
36	.result = REJECT,
37	.prog_type = BPF_PROG_TYPE_SCHED_CLS,
38},
39{
40	"non-invalid argument register",
41	.insns = {
42	BPF_ALU64_REG(BPF_MOV, BPF_REG_6, BPF_REG_1),
43	BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 0, 0, BPF_FUNC_get_cgroup_classid),
44	BPF_ALU64_REG(BPF_MOV, BPF_REG_1, BPF_REG_6),
45	BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 0, 0, BPF_FUNC_get_cgroup_classid),
46	BPF_EXIT_INSN(),
47	},
48	.result = ACCEPT,
49	.prog_type = BPF_PROG_TYPE_SCHED_CLS,
50},
51