|
60 | 60 | .result = ACCEPT, |
61 | 61 | .retval = 1, |
62 | 62 | }, |
| 63 | +{ |
| 64 | + "bpf_map_ptr: r = 0, map_ptr = map_ptr + r", |
| 65 | + .insns = { |
| 66 | + BPF_ST_MEM(BPF_DW, BPF_REG_10, -8, 0), |
| 67 | + BPF_MOV64_REG(BPF_REG_2, BPF_REG_10), |
| 68 | + BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -8), |
| 69 | + BPF_MOV64_IMM(BPF_REG_0, 0), |
| 70 | + BPF_LD_MAP_FD(BPF_REG_1, 0), |
| 71 | + BPF_ALU64_REG(BPF_ADD, BPF_REG_1, BPF_REG_0), |
| 72 | + BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 0, 0, BPF_FUNC_map_lookup_elem), |
| 73 | + BPF_MOV64_IMM(BPF_REG_0, 0), |
| 74 | + BPF_EXIT_INSN(), |
| 75 | + }, |
| 76 | + .fixup_map_hash_16b = { 4 }, |
| 77 | + .result = ACCEPT, |
| 78 | +}, |
| 79 | +{ |
| 80 | + "bpf_map_ptr: r = 0, r = r + map_ptr", |
| 81 | + .insns = { |
| 82 | + BPF_ST_MEM(BPF_DW, BPF_REG_10, -8, 0), |
| 83 | + BPF_MOV64_REG(BPF_REG_2, BPF_REG_10), |
| 84 | + BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -8), |
| 85 | + BPF_MOV64_IMM(BPF_REG_1, 0), |
| 86 | + BPF_LD_MAP_FD(BPF_REG_0, 0), |
| 87 | + BPF_ALU64_REG(BPF_ADD, BPF_REG_1, BPF_REG_0), |
| 88 | + BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 0, 0, BPF_FUNC_map_lookup_elem), |
| 89 | + BPF_MOV64_IMM(BPF_REG_0, 0), |
| 90 | + BPF_EXIT_INSN(), |
| 91 | + }, |
| 92 | + .fixup_map_hash_16b = { 4 }, |
| 93 | + .result = ACCEPT, |
| 94 | +}, |
0 commit comments