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