cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

basic_call.c (1183B)


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