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

uninit.c (761B)


      1{
      2	"read uninitialized register",
      3	.insns = {
      4	BPF_MOV64_REG(BPF_REG_0, BPF_REG_2),
      5	BPF_EXIT_INSN(),
      6	},
      7	.errstr = "R2 !read_ok",
      8	.result = REJECT,
      9},
     10{
     11	"read invalid register",
     12	.insns = {
     13	BPF_MOV64_REG(BPF_REG_0, -1),
     14	BPF_EXIT_INSN(),
     15	},
     16	.errstr = "R15 is invalid",
     17	.result = REJECT,
     18},
     19{
     20	"program doesn't init R0 before exit",
     21	.insns = {
     22	BPF_ALU64_REG(BPF_MOV, BPF_REG_2, BPF_REG_1),
     23	BPF_EXIT_INSN(),
     24	},
     25	.errstr = "R0 !read_ok",
     26	.result = REJECT,
     27},
     28{
     29	"program doesn't init R0 before exit in all branches",
     30	.insns = {
     31	BPF_JMP_IMM(BPF_JGE, BPF_REG_1, 0, 2),
     32	BPF_MOV64_IMM(BPF_REG_0, 1),
     33	BPF_ALU64_IMM(BPF_ADD, BPF_REG_0, 2),
     34	BPF_EXIT_INSN(),
     35	},
     36	.errstr = "R0 !read_ok",
     37	.errstr_unpriv = "R1 pointer comparison",
     38	.result = REJECT,
     39},