Back to home page

OSCL-LXR

 
 

    


0001 {
0002     "invalid call insn1",
0003     .insns = {
0004     BPF_RAW_INSN(BPF_JMP | BPF_CALL | BPF_X, 0, 0, 0, 0),
0005     BPF_EXIT_INSN(),
0006     },
0007     .errstr = "unknown opcode 8d",
0008     .result = REJECT,
0009 },
0010 {
0011     "invalid call insn2",
0012     .insns = {
0013     BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 0, 1, 0),
0014     BPF_EXIT_INSN(),
0015     },
0016     .errstr = "BPF_CALL uses reserved",
0017     .result = REJECT,
0018 },
0019 {
0020     "invalid function call",
0021     .insns = {
0022     BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 0, 0, 1234567),
0023     BPF_EXIT_INSN(),
0024     },
0025     .errstr = "invalid func unknown#1234567",
0026     .result = REJECT,
0027 },
0028 {
0029     "invalid argument register",
0030     .insns = {
0031     BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 0, 0, BPF_FUNC_get_cgroup_classid),
0032     BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 0, 0, BPF_FUNC_get_cgroup_classid),
0033     BPF_EXIT_INSN(),
0034     },
0035     .errstr = "R1 !read_ok",
0036     .result = REJECT,
0037     .prog_type = BPF_PROG_TYPE_SCHED_CLS,
0038 },
0039 {
0040     "non-invalid argument register",
0041     .insns = {
0042     BPF_ALU64_REG(BPF_MOV, BPF_REG_6, BPF_REG_1),
0043     BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 0, 0, BPF_FUNC_get_cgroup_classid),
0044     BPF_ALU64_REG(BPF_MOV, BPF_REG_1, BPF_REG_6),
0045     BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 0, 0, BPF_FUNC_get_cgroup_classid),
0046     BPF_EXIT_INSN(),
0047     },
0048     .result = ACCEPT,
0049     .prog_type = BPF_PROG_TYPE_SCHED_CLS,
0050 },