/kernel/linux/linux-6.6/arch/powerpc/net/ |
H A D | bpf_jit_comp64.c | 377 u32 dst_reg = bpf_to_ppc(insn[i].dst_reg); in bpf_jit_build_body() local 404 * is that those instructions will have src_reg/dst_reg set to in bpf_jit_build_body() 409 if (dst_reg >= BPF_PPC_NVR_MIN && dst_reg < 32) in bpf_jit_build_body() 410 bpf_set_seen_register(ctx, dst_reg); in bpf_jit_build_body() 420 EMIT(PPC_RAW_ADD(dst_reg, dst_reg, src_reg)); in bpf_jit_build_body() 424 EMIT(PPC_RAW_SUB(dst_reg, dst_reg, src_re in bpf_jit_build_body() [all...] |
H A D | bpf_jit_comp32.c | 294 u32 dst_reg = bpf_to_ppc(insn[i].dst_reg); in bpf_jit_build_body() local 295 u32 dst_reg_h = dst_reg - 1; in bpf_jit_build_body() 298 u32 src2_reg = dst_reg; in bpf_jit_build_body() 315 insn[i - 1].dst_reg == insn[i].dst_reg && insn[i - 1].imm != 1) { in bpf_jit_build_body() 333 * is that those instructions will have src_reg/dst_reg set to in bpf_jit_build_body() 338 if (dst_reg >= 3 && dst_reg < 32) { in bpf_jit_build_body() 339 bpf_set_seen_register(ctx, dst_reg); in bpf_jit_build_body() [all...] |
/kernel/linux/linux-5.10/arch/powerpc/net/ |
H A D | bpf_jit_comp64.c | 331 u32 dst_reg = b2p[insn[i].dst_reg]; in bpf_jit_build_body() local 353 * is that those instructions will have src_reg/dst_reg set to in bpf_jit_build_body() 358 if (dst_reg >= BPF_PPC_NVR_MIN && dst_reg < 32) in bpf_jit_build_body() 359 bpf_set_seen_register(ctx, insn[i].dst_reg); in bpf_jit_build_body() 369 EMIT(PPC_RAW_ADD(dst_reg, dst_reg, src_reg)); in bpf_jit_build_body() 373 EMIT(PPC_RAW_SUB(dst_reg, dst_reg, src_re in bpf_jit_build_body() [all...] |
/kernel/linux/linux-5.10/tools/include/linux/ |
H A D | filter.h | 32 /* ALU ops on registers, bpf_add|sub|...: dst_reg += src_reg */ 37 .dst_reg = DST, \ 45 .dst_reg = DST, \ 50 /* ALU ops on immediates, bpf_add|sub|...: dst_reg += imm32 */ 55 .dst_reg = DST, \ 63 .dst_reg = DST, \ 73 .dst_reg = DST, \ 78 /* Short form of mov, dst_reg = src_reg */ 83 .dst_reg = DST, \ 91 .dst_reg [all...] |
/kernel/linux/linux-6.6/tools/include/linux/ |
H A D | filter.h | 32 /* ALU ops on registers, bpf_add|sub|...: dst_reg += src_reg */ 37 .dst_reg = DST, \ 45 .dst_reg = DST, \ 50 /* ALU ops on immediates, bpf_add|sub|...: dst_reg += imm32 */ 55 .dst_reg = DST, \ 63 .dst_reg = DST, \ 73 .dst_reg = DST, \ 78 /* Short form of mov, dst_reg = src_reg */ 83 .dst_reg = DST, \ 91 .dst_reg [all...] |
/kernel/linux/linux-5.10/arch/x86/net/ |
H A D | bpf_jit_comp.c | 195 /* Encode 'dst_reg' register into x86-64 opcode 'byte' */ 196 static u8 add_1reg(u8 byte, u32 dst_reg) in add_1reg() argument 198 return byte + reg2hex[dst_reg]; in add_1reg() 201 /* Encode 'dst_reg' and 'src_reg' registers into x86-64 opcode 'byte' */ 202 static u8 add_2reg(u8 byte, u32 dst_reg, u32 src_reg) in add_2reg() argument 204 return byte + reg2hex[dst_reg] + (reg2hex[src_reg] << 3); in add_2reg() 596 u32 dst_reg, const u32 imm32) in emit_mov_imm32() 608 b1 = add_1mod(0x48, dst_reg); in emit_mov_imm32() 611 EMIT3_off32(b1, b2, add_1reg(b3, dst_reg), imm32); in emit_mov_imm32() 620 if (is_ereg(dst_reg)) in emit_mov_imm32() 595 emit_mov_imm32(u8 **pprog, bool sign_propagate, u32 dst_reg, const u32 imm32) emit_mov_imm32() argument 636 emit_mov_imm64(u8 **pprog, u32 dst_reg, const u32 imm32_hi, const u32 imm32_lo) emit_mov_imm64() argument 660 emit_mov_reg(u8 **pprog, bool is64, u32 dst_reg, u32 src_reg) emit_mov_reg() argument 679 emit_ldx(u8 **pprog, u32 size, u32 dst_reg, u32 src_reg, int off) emit_ldx() argument 718 emit_stx(u8 **pprog, u32 size, u32 dst_reg, u32 src_reg, int off) emit_stx() argument 814 u32 dst_reg = insn->dst_reg; do_jit() local [all...] |
/kernel/linux/linux-6.6/arch/s390/net/ |
H A D | bpf_jit_comp.c | 107 static inline u32 reg(u32 dst_reg, u32 src_reg) in reg() argument 109 return reg2hex[dst_reg] << 4 | reg2hex[src_reg]; in reg() 779 u32 dst_reg = insn->dst_reg; in bpf_jit_insn() local 800 EMIT4(0xb9160000, dst_reg, src_reg); in bpf_jit_insn() 806 EMIT4(0xb9040000, dst_reg, src_reg); in bpf_jit_insn() 810 EMIT6_IMM(0xc00f0000, dst_reg, imm); in bpf_jit_insn() 816 EMIT6_IMM(0xc0010000, dst_reg, imm); in bpf_jit_insn() 828 EMIT6_PCREL_RILB(0xc4080000, dst_reg, _EMIT_CONST_U64(imm64)); in bpf_jit_insn() 837 EMIT2(0x1a00, dst_reg, src_re in bpf_jit_insn() 2097 load_imm64(struct bpf_jit *jit, int dst_reg, u64 val) load_imm64() argument [all...] |
/kernel/linux/linux-5.10/arch/s390/net/ |
H A D | bpf_jit_comp.c | 101 static inline u32 reg(u32 dst_reg, u32 src_reg) in reg() argument 103 return reg2hex[dst_reg] << 4 | reg2hex[src_reg]; in reg() 697 u32 dst_reg = insn->dst_reg; in bpf_jit_insn() local 718 EMIT4(0xb9160000, dst_reg, src_reg); in bpf_jit_insn() 724 EMIT4(0xb9040000, dst_reg, src_reg); in bpf_jit_insn() 728 EMIT6_IMM(0xc00f0000, dst_reg, imm); in bpf_jit_insn() 734 EMIT6_IMM(0xc0010000, dst_reg, imm); in bpf_jit_insn() 746 EMIT6_PCREL_RILB(0xc4080000, dst_reg, _EMIT_CONST_U64(imm64)); in bpf_jit_insn() 755 EMIT2(0x1a00, dst_reg, src_re in bpf_jit_insn() [all...] |
/kernel/linux/linux-5.10/samples/bpf/ |
H A D | bpf_insn.h | 8 /* ALU ops on registers, bpf_add|sub|...: dst_reg += src_reg */ 13 .dst_reg = DST, \ 21 .dst_reg = DST, \ 26 /* ALU ops on immediates, bpf_add|sub|...: dst_reg += imm32 */ 31 .dst_reg = DST, \ 39 .dst_reg = DST, \ 44 /* Short form of mov, dst_reg = src_reg */ 49 .dst_reg = DST, \ 57 .dst_reg = DST, \ 62 /* Short form of mov, dst_reg [all...] |
/kernel/linux/linux-6.6/samples/bpf/ |
H A D | bpf_insn.h | 8 /* ALU ops on registers, bpf_add|sub|...: dst_reg += src_reg */ 13 .dst_reg = DST, \ 21 .dst_reg = DST, \ 26 /* ALU ops on immediates, bpf_add|sub|...: dst_reg += imm32 */ 31 .dst_reg = DST, \ 39 .dst_reg = DST, \ 44 /* Short form of mov, dst_reg = src_reg */ 49 .dst_reg = DST, \ 57 .dst_reg = DST, \ 62 /* Short form of mov, dst_reg [all...] |
/kernel/linux/linux-6.6/arch/x86/net/ |
H A D | bpf_jit_comp.c | 202 /* Encode 'dst_reg' register into x86-64 opcode 'byte' */ 203 static u8 add_1reg(u8 byte, u32 dst_reg) in add_1reg() argument 205 return byte + reg2hex[dst_reg]; in add_1reg() 208 /* Encode 'dst_reg' and 'src_reg' registers into x86-64 opcode 'byte' */ 209 static u8 add_2reg(u8 byte, u32 dst_reg, u32 src_reg) in add_2reg() argument 211 return byte + reg2hex[dst_reg] + (reg2hex[src_reg] << 3); in add_2reg() 625 u32 dst_reg, const u32 imm32) in emit_mov_imm32() 636 b1 = add_1mod(0x48, dst_reg); in emit_mov_imm32() 639 EMIT3_off32(b1, b2, add_1reg(b3, dst_reg), imm32); in emit_mov_imm32() 648 if (is_ereg(dst_reg)) in emit_mov_imm32() 624 emit_mov_imm32(u8 **pprog, bool sign_propagate, u32 dst_reg, const u32 imm32) emit_mov_imm32() argument 664 emit_mov_imm64(u8 **pprog, u32 dst_reg, const u32 imm32_hi, const u32 imm32_lo) emit_mov_imm64() argument 687 emit_mov_reg(u8 **pprog, bool is64, u32 dst_reg, u32 src_reg) emit_mov_reg() argument 704 emit_movsx_reg(u8 **pprog, int num_bits, bool is64, u32 dst_reg, u32 src_reg) emit_movsx_reg() argument 759 maybe_emit_mod(u8 **pprog, u32 dst_reg, u32 src_reg, bool is64) maybe_emit_mod() argument 785 emit_ldx(u8 **pprog, u32 size, u32 dst_reg, u32 src_reg, int off) emit_ldx() argument 815 emit_ldsx(u8 **pprog, u32 size, u32 dst_reg, u32 src_reg, int off) emit_ldsx() argument 838 emit_stx(u8 **pprog, u32 size, u32 dst_reg, u32 src_reg, int off) emit_stx() argument 871 emit_atomic(u8 **pprog, u8 atomic_op, u32 dst_reg, u32 src_reg, s16 off, u8 bpf_size) emit_atomic() argument 1008 emit_shiftx(u8 **pprog, u32 dst_reg, u8 src_reg, bool is64, u8 op) emit_shiftx() argument 1060 u32 dst_reg = insn->dst_reg; do_jit() local [all...] |
/kernel/linux/linux-5.10/kernel/bpf/ |
H A D | verifier.c | 1719 return !is_reg64(env, insn, insn->dst_reg, NULL, DST_OP); in insn_has_def32() 1830 u32 dreg = 1u << insn->dst_reg; in backtrack_insn() 1905 /* stx & st shouldn't be using _scalar_ dst_reg in backtrack_insn() 1911 if (insn->dst_reg != BPF_REG_FP) in backtrack_insn() 2478 u32 dst_reg = insn->dst_reg; in check_stack_write_fixed_off() local 2515 if (dst_reg != BPF_REG_FP) { in check_stack_write_fixed_off() 4202 err = check_reg_arg(env, insn->dst_reg, SRC_OP); in check_xadd() 4211 if (is_ctx_reg(env, insn->dst_reg) || in check_xadd() 4212 is_pkt_reg(env, insn->dst_reg) || in check_xadd() 6043 sanitize_ptr_alu(struct bpf_verifier_env *env, struct bpf_insn *insn, const struct bpf_reg_state *ptr_reg, const struct bpf_reg_state *off_reg, struct bpf_reg_state *dst_reg, struct bpf_sanitize_info *info, const bool commit_window) sanitize_ptr_alu() argument 6152 sanitize_err(struct bpf_verifier_env *env, const struct bpf_insn *insn, int reason, const struct bpf_reg_state *off_reg, const struct bpf_reg_state *dst_reg) sanitize_err() argument 6225 sanitize_check_bounds(struct bpf_verifier_env *env, const struct bpf_insn *insn, const struct bpf_reg_state *dst_reg) sanitize_check_bounds() argument 6269 struct bpf_reg_state *regs = state->regs, *dst_reg; adjust_ptr_min_max_vals() local 6495 scalar32_min_max_add(struct bpf_reg_state *dst_reg, struct bpf_reg_state *src_reg) scalar32_min_max_add() argument 6521 scalar_min_max_add(struct bpf_reg_state *dst_reg, struct bpf_reg_state *src_reg) scalar_min_max_add() argument 6547 scalar32_min_max_sub(struct bpf_reg_state *dst_reg, struct bpf_reg_state *src_reg) scalar32_min_max_sub() argument 6575 scalar_min_max_sub(struct bpf_reg_state *dst_reg, struct bpf_reg_state *src_reg) scalar_min_max_sub() argument 6603 scalar32_min_max_mul(struct bpf_reg_state *dst_reg, struct bpf_reg_state *src_reg) scalar32_min_max_mul() argument 6635 scalar_min_max_mul(struct bpf_reg_state *dst_reg, struct bpf_reg_state *src_reg) scalar_min_max_mul() argument 6667 scalar32_min_max_and(struct bpf_reg_state *dst_reg, struct bpf_reg_state *src_reg) scalar32_min_max_and() argument 6701 scalar_min_max_and(struct bpf_reg_state *dst_reg, struct bpf_reg_state *src_reg) scalar_min_max_and() argument 6736 scalar32_min_max_or(struct bpf_reg_state *dst_reg, struct bpf_reg_state *src_reg) scalar32_min_max_or() argument 6770 scalar_min_max_or(struct bpf_reg_state *dst_reg, struct bpf_reg_state *src_reg) scalar_min_max_or() argument 6805 scalar32_min_max_xor(struct bpf_reg_state *dst_reg, struct bpf_reg_state *src_reg) scalar32_min_max_xor() argument 6834 scalar_min_max_xor(struct bpf_reg_state *dst_reg, struct bpf_reg_state *src_reg) scalar_min_max_xor() argument 6865 __scalar32_min_max_lsh(struct bpf_reg_state *dst_reg, u64 umin_val, u64 umax_val) __scalar32_min_max_lsh() argument 6883 scalar32_min_max_lsh(struct bpf_reg_state *dst_reg, struct bpf_reg_state *src_reg) scalar32_min_max_lsh() argument 6901 __scalar64_min_max_lsh(struct bpf_reg_state *dst_reg, u64 umin_val, u64 umax_val) __scalar64_min_max_lsh() argument 6931 scalar_min_max_lsh(struct bpf_reg_state *dst_reg, struct bpf_reg_state *src_reg) scalar_min_max_lsh() argument 6946 scalar32_min_max_rsh(struct bpf_reg_state *dst_reg, struct bpf_reg_state *src_reg) scalar32_min_max_rsh() argument 6978 scalar_min_max_rsh(struct bpf_reg_state *dst_reg, struct bpf_reg_state *src_reg) scalar_min_max_rsh() argument 7012 scalar32_min_max_arsh(struct bpf_reg_state *dst_reg, struct bpf_reg_state *src_reg) scalar32_min_max_arsh() argument 7035 scalar_min_max_arsh(struct bpf_reg_state *dst_reg, struct bpf_reg_state *src_reg) scalar_min_max_arsh() argument 7066 adjust_scalar_min_max_vals(struct bpf_verifier_env *env, struct bpf_insn *insn, struct bpf_reg_state *dst_reg, struct bpf_reg_state src_reg) adjust_scalar_min_max_vals() argument 7232 struct bpf_reg_state *regs = state->regs, *dst_reg, *src_reg; adjust_reg_min_max_vals() local 7378 struct bpf_reg_state *dst_reg = regs + insn->dst_reg; check_alu_op() local 7486 find_good_pkt_pointers(struct bpf_verifier_state *vstate, struct bpf_reg_state *dst_reg, enum bpf_reg_type type, bool range_right_open) find_good_pkt_pointers() argument 7767 is_pkt_ptr_branch_taken(struct bpf_reg_state *dst_reg, struct bpf_reg_state *src_reg, u8 opcode) is_pkt_ptr_branch_taken() argument 7986 __reg_combine_min_max(struct bpf_reg_state *src_reg, struct bpf_reg_state *dst_reg) __reg_combine_min_max() argument 8097 try_match_pkt_pointers(const struct bpf_insn *insn, struct bpf_reg_state *dst_reg, struct bpf_reg_state *src_reg, struct bpf_verifier_state *this_branch, struct bpf_verifier_state *other_branch) try_match_pkt_pointers() argument 8220 struct bpf_reg_state *dst_reg, *other_branch_regs, *src_reg = NULL; check_cond_jmp_op() local 8411 struct bpf_reg_state *dst_reg; check_ld_imm() local [all...] |
H A D | disasm.c | 112 insn->code, insn->dst_reg, in print_bpf_end_insn() 114 insn->imm, insn->dst_reg); in print_bpf_end_insn() 133 insn->dst_reg, class == BPF_ALU ? 'w' : 'r', in print_bpf_insn() 134 insn->dst_reg); in print_bpf_insn() 138 insn->dst_reg, in print_bpf_insn() 145 insn->dst_reg, in print_bpf_insn() 154 insn->dst_reg, in print_bpf_insn() 160 insn->dst_reg, insn->off, in print_bpf_insn() 169 insn->dst_reg, in print_bpf_insn() 182 insn->code, insn->dst_reg, in print_bpf_insn() [all...] |
/kernel/linux/linux-6.6/kernel/bpf/ |
H A D | disasm.c | 143 insn->code, insn->dst_reg, in print_bpf_end_insn() 145 insn->imm, insn->dst_reg); in print_bpf_end_insn() 153 insn->code, insn->dst_reg, in print_bpf_bswap_insn() 154 insn->imm, insn->dst_reg); in print_bpf_bswap_insn() 185 insn->dst_reg, class == BPF_ALU ? 'w' : 'r', in print_bpf_insn() 186 insn->dst_reg); in print_bpf_insn() 190 insn->dst_reg, in print_bpf_insn() 199 insn->dst_reg, in print_bpf_insn() 209 insn->dst_reg, in print_bpf_insn() 217 insn->dst_reg, ins in print_bpf_insn() [all...] |
H A D | verifier.c | 3308 return insn->dst_reg; in insn_def_regno() 3315 int dst_reg = insn_def_regno(insn); in insn_has_def32() local 3317 if (dst_reg == -1) in insn_has_def32() 3320 return !is_reg64(env, insn, dst_reg, NULL, DST_OP); in insn_has_def32() 3651 u32 dreg = insn->dst_reg; in backtrack_insn() 3730 /* stx & st shouldn't be using _scalar_ dst_reg in backtrack_insn() 3736 if (insn->dst_reg != BPF_REG_FP) in backtrack_insn() 4552 u32 dst_reg = insn->dst_reg; in check_stack_write_fixed_off() local 4590 if (dst_reg ! in check_stack_write_fixed_off() 12228 sanitize_ptr_alu(struct bpf_verifier_env *env, struct bpf_insn *insn, const struct bpf_reg_state *ptr_reg, const struct bpf_reg_state *off_reg, struct bpf_reg_state *dst_reg, struct bpf_sanitize_info *info, const bool commit_window) sanitize_ptr_alu() argument 12337 sanitize_err(struct bpf_verifier_env *env, const struct bpf_insn *insn, int reason, const struct bpf_reg_state *off_reg, const struct bpf_reg_state *dst_reg) sanitize_err() argument 12410 sanitize_check_bounds(struct bpf_verifier_env *env, const struct bpf_insn *insn, const struct bpf_reg_state *dst_reg) sanitize_check_bounds() argument 12454 struct bpf_reg_state *regs = state->regs, *dst_reg; adjust_ptr_min_max_vals() local 12677 scalar32_min_max_add(struct bpf_reg_state *dst_reg, struct bpf_reg_state *src_reg) scalar32_min_max_add() argument 12703 scalar_min_max_add(struct bpf_reg_state *dst_reg, struct bpf_reg_state *src_reg) scalar_min_max_add() argument 12729 scalar32_min_max_sub(struct bpf_reg_state *dst_reg, struct bpf_reg_state *src_reg) scalar32_min_max_sub() argument 12757 scalar_min_max_sub(struct bpf_reg_state *dst_reg, struct bpf_reg_state *src_reg) scalar_min_max_sub() argument 12785 scalar32_min_max_mul(struct bpf_reg_state *dst_reg, struct bpf_reg_state *src_reg) scalar32_min_max_mul() argument 12817 scalar_min_max_mul(struct bpf_reg_state *dst_reg, struct bpf_reg_state *src_reg) scalar_min_max_mul() argument 12849 scalar32_min_max_and(struct bpf_reg_state *dst_reg, struct bpf_reg_state *src_reg) scalar32_min_max_and() argument 12883 scalar_min_max_and(struct bpf_reg_state *dst_reg, struct bpf_reg_state *src_reg) scalar_min_max_and() argument 12918 scalar32_min_max_or(struct bpf_reg_state *dst_reg, struct bpf_reg_state *src_reg) scalar32_min_max_or() argument 12952 scalar_min_max_or(struct bpf_reg_state *dst_reg, struct bpf_reg_state *src_reg) scalar_min_max_or() argument 12987 scalar32_min_max_xor(struct bpf_reg_state *dst_reg, struct bpf_reg_state *src_reg) scalar32_min_max_xor() argument 13016 scalar_min_max_xor(struct bpf_reg_state *dst_reg, struct bpf_reg_state *src_reg) scalar_min_max_xor() argument 13047 __scalar32_min_max_lsh(struct bpf_reg_state *dst_reg, u64 umin_val, u64 umax_val) __scalar32_min_max_lsh() argument 13065 scalar32_min_max_lsh(struct bpf_reg_state *dst_reg, struct bpf_reg_state *src_reg) scalar32_min_max_lsh() argument 13083 __scalar64_min_max_lsh(struct bpf_reg_state *dst_reg, u64 umin_val, u64 umax_val) __scalar64_min_max_lsh() argument 13113 scalar_min_max_lsh(struct bpf_reg_state *dst_reg, struct bpf_reg_state *src_reg) scalar_min_max_lsh() argument 13128 scalar32_min_max_rsh(struct bpf_reg_state *dst_reg, struct bpf_reg_state *src_reg) scalar32_min_max_rsh() argument 13160 scalar_min_max_rsh(struct bpf_reg_state *dst_reg, struct bpf_reg_state *src_reg) scalar_min_max_rsh() argument 13194 scalar32_min_max_arsh(struct bpf_reg_state *dst_reg, struct bpf_reg_state *src_reg) scalar32_min_max_arsh() argument 13217 scalar_min_max_arsh(struct bpf_reg_state *dst_reg, struct bpf_reg_state *src_reg) scalar_min_max_arsh() argument 13248 adjust_scalar_min_max_vals(struct bpf_verifier_env *env, struct bpf_insn *insn, struct bpf_reg_state *dst_reg, struct bpf_reg_state src_reg) adjust_scalar_min_max_vals() argument 13414 struct bpf_reg_state *regs = state->regs, *dst_reg, *src_reg; adjust_reg_min_max_vals() local 13574 struct bpf_reg_state *dst_reg = regs + insn->dst_reg; check_alu_op() local 13729 find_good_pkt_pointers(struct bpf_verifier_state *vstate, struct bpf_reg_state *dst_reg, enum bpf_reg_type type, bool range_right_open) find_good_pkt_pointers() argument 14018 is_pkt_ptr_branch_taken(struct bpf_reg_state *dst_reg, struct bpf_reg_state *src_reg, u8 opcode) is_pkt_ptr_branch_taken() argument 14237 __reg_combine_min_max(struct bpf_reg_state *src_reg, struct bpf_reg_state *dst_reg) __reg_combine_min_max() argument 14340 try_match_pkt_pointers(const struct bpf_insn *insn, struct bpf_reg_state *dst_reg, struct bpf_reg_state *src_reg, struct bpf_verifier_state *this_branch, struct bpf_verifier_state *other_branch) try_match_pkt_pointers() argument 14463 struct bpf_reg_state *dst_reg, *other_branch_regs, *src_reg = NULL; check_cond_jmp_op() local 14709 struct bpf_reg_state *dst_reg; check_ld_imm() local [all...] |
H A D | cgroup.c | 2232 BPF_SIZE(si->code), si->dst_reg, si->src_reg, in sysctl_convert_ctx_access() 2241 * register is used since neither src_reg nor dst_reg can be in sysctl_convert_ctx_access() 2247 if (si->src_reg == treg || si->dst_reg == treg) in sysctl_convert_ctx_access() 2249 if (si->src_reg == treg || si->dst_reg == treg) in sysctl_convert_ctx_access() 2252 BPF_DW, si->dst_reg, treg, in sysctl_convert_ctx_access() 2256 treg, si->dst_reg, in sysctl_convert_ctx_access() 2265 BPF_DW, treg, si->dst_reg, in sysctl_convert_ctx_access() 2270 si->dst_reg, si->src_reg, in sysctl_convert_ctx_access() 2274 BPF_SIZE(si->code), si->dst_reg, si->dst_reg, in sysctl_convert_ctx_access() [all...] |
/kernel/linux/linux-6.6/tools/testing/selftests/bpf/ |
H A D | disasm.c | 143 insn->code, insn->dst_reg, in print_bpf_end_insn() 145 insn->imm, insn->dst_reg); in print_bpf_end_insn() 153 insn->code, insn->dst_reg, in print_bpf_bswap_insn() 154 insn->imm, insn->dst_reg); in print_bpf_bswap_insn() 185 insn->dst_reg, class == BPF_ALU ? 'w' : 'r', in print_bpf_insn() 186 insn->dst_reg); in print_bpf_insn() 190 insn->dst_reg, in print_bpf_insn() 199 insn->dst_reg, in print_bpf_insn() 209 insn->dst_reg, in print_bpf_insn() 217 insn->dst_reg, ins in print_bpf_insn() [all...] |
/kernel/linux/linux-6.6/net/core/ |
H A D | filter.c | 295 static u32 convert_skb_access(int skb_field, int dst_reg, int src_reg, in convert_skb_access() argument 304 *insn++ = BPF_LDX_MEM(BPF_W, dst_reg, src_reg, in convert_skb_access() 309 *insn++ = BPF_LDX_MEM(BPF_B, dst_reg, src_reg, PKT_TYPE_OFFSET); in convert_skb_access() 310 *insn++ = BPF_ALU32_IMM(BPF_AND, dst_reg, PKT_TYPE_MAX); in convert_skb_access() 312 *insn++ = BPF_ALU32_IMM(BPF_RSH, dst_reg, 5); in convert_skb_access() 319 *insn++ = BPF_LDX_MEM(BPF_H, dst_reg, src_reg, in convert_skb_access() 326 /* dst_reg = *(u16 *) (src_reg + offsetof(vlan_tci)) */ in convert_skb_access() 327 *insn++ = BPF_LDX_MEM(BPF_H, dst_reg, src_reg, in convert_skb_access() 332 *insn++ = BPF_LDX_MEM(BPF_W, dst_reg, src_reg, in convert_skb_access() 334 *insn++ = BPF_JMP_IMM(BPF_JEQ, dst_reg, in convert_skb_access() 9345 bpf_convert_shinfo_access(__u8 dst_reg, __u8 skb_reg, struct bpf_insn *insn) bpf_convert_shinfo_access() argument [all...] |
/kernel/linux/linux-5.10/arch/mips/net/ |
H A D | ebpf_jit.c | 183 dst_reg, enumerator 198 insn->src_reg : insn->dst_reg; in ebpf_to_mips_reg() 226 if (w == dst_reg || w == src_reg_no_fp) in ebpf_to_mips_reg() 426 int dst = ebpf_to_mips_reg(ctx, insn, dst_reg); in gen_imm_insn() 464 get_reg_val_type(ctx, idx, insn->dst_reg) == REG_32BIT) in gen_imm_insn() 470 get_reg_val_type(ctx, idx, insn->dst_reg) != REG_32BIT) in gen_imm_insn() 697 dst = ebpf_to_mips_reg(ctx, insn, dst_reg); in build_one_insn() 700 if (get_reg_val_type(ctx, this_idx, insn->dst_reg) == REG_32BIT) in build_one_insn() 713 dst = ebpf_to_mips_reg(ctx, insn, dst_reg); in build_one_insn() 716 if (get_reg_val_type(ctx, this_idx, insn->dst_reg) in build_one_insn() [all...] |
/kernel/linux/linux-5.10/net/core/ |
H A D | filter.c | 295 static u32 convert_skb_access(int skb_field, int dst_reg, int src_reg, in convert_skb_access() argument 304 *insn++ = BPF_LDX_MEM(BPF_W, dst_reg, src_reg, in convert_skb_access() 309 *insn++ = BPF_LDX_MEM(BPF_B, dst_reg, src_reg, PKT_TYPE_OFFSET()); in convert_skb_access() 310 *insn++ = BPF_ALU32_IMM(BPF_AND, dst_reg, PKT_TYPE_MAX); in convert_skb_access() 312 *insn++ = BPF_ALU32_IMM(BPF_RSH, dst_reg, 5); in convert_skb_access() 319 *insn++ = BPF_LDX_MEM(BPF_H, dst_reg, src_reg, in convert_skb_access() 326 /* dst_reg = *(u16 *) (src_reg + offsetof(vlan_tci)) */ in convert_skb_access() 327 *insn++ = BPF_LDX_MEM(BPF_H, dst_reg, src_reg, in convert_skb_access() 331 *insn++ = BPF_LDX_MEM(BPF_B, dst_reg, src_reg, PKT_VLAN_PRESENT_OFFSET()); in convert_skb_access() 333 *insn++ = BPF_ALU32_IMM(BPF_RSH, dst_reg, PKT_VLAN_PRESENT_BI in convert_skb_access() [all...] |
/kernel/linux/linux-5.10/include/linux/ |
H A D | filter.h | 91 /* ALU ops on registers, bpf_add|sub|...: dst_reg += src_reg */ 96 .dst_reg = DST, \ 104 .dst_reg = DST, \ 109 /* ALU ops on immediates, bpf_add|sub|...: dst_reg += imm32 */ 114 .dst_reg = DST, \ 122 .dst_reg = DST, \ 132 .dst_reg = DST, \ 137 /* Short form of mov, dst_reg = src_reg */ 142 .dst_reg = DST, \ 150 .dst_reg [all...] |
/kernel/linux/linux-6.6/include/linux/ |
H A D | filter.h | 94 /* ALU ops on registers, bpf_add|sub|...: dst_reg += src_reg */ 99 .dst_reg = DST, \ 110 .dst_reg = DST, \ 118 /* ALU ops on immediates, bpf_add|sub|...: dst_reg += imm32 */ 123 .dst_reg = DST, \ 131 .dst_reg = DST, \ 141 .dst_reg = DST, \ 146 /* Short form of mov, dst_reg = src_reg */ 151 .dst_reg = DST, \ 159 .dst_reg [all...] |
/kernel/linux/linux-5.10/drivers/net/ethernet/netronome/nfp/bpf/ |
H A D | jit.c | 770 reg_a(meta->paired_st->dst_reg * 2), off, len - 1, in nfp_cpp_memcpy() 775 reg_a(meta->paired_st->dst_reg * 2), off, xfer_num - 1, in nfp_cpp_memcpy() 782 reg_a(meta->paired_st->dst_reg * 2), off, in nfp_cpp_memcpy() 789 reg_a(meta->paired_st->dst_reg * 2), off, in nfp_cpp_memcpy() 796 reg_a(meta->paired_st->dst_reg * 2), off, 7, in nfp_cpp_memcpy() 802 reg_a(meta->paired_st->dst_reg * 2), off, len - 33, in nfp_cpp_memcpy() 813 reg_a(meta->paired_st->dst_reg * 2), off, in nfp_cpp_memcpy() 818 xfer_num - 1, reg_a(meta->paired_st->dst_reg * 2), off, in nfp_cpp_memcpy() 841 wrp_reg_subpart(nfp_prog, reg_both(meta->insn.dst_reg * 2), in nfp_cpp_memcpy() 846 wrp_reg_subpart(nfp_prog, reg_both(meta->insn.dst_reg * in nfp_cpp_memcpy() 1507 u8 dst_reg; wrp_mul() local [all...] |
/kernel/linux/linux-6.6/drivers/net/ethernet/netronome/nfp/bpf/ |
H A D | jit.c | 770 reg_a(meta->paired_st->dst_reg * 2), off, len - 1, in nfp_cpp_memcpy() 775 reg_a(meta->paired_st->dst_reg * 2), off, xfer_num - 1, in nfp_cpp_memcpy() 782 reg_a(meta->paired_st->dst_reg * 2), off, in nfp_cpp_memcpy() 789 reg_a(meta->paired_st->dst_reg * 2), off, in nfp_cpp_memcpy() 796 reg_a(meta->paired_st->dst_reg * 2), off, 7, in nfp_cpp_memcpy() 802 reg_a(meta->paired_st->dst_reg * 2), off, len - 33, in nfp_cpp_memcpy() 813 reg_a(meta->paired_st->dst_reg * 2), off, in nfp_cpp_memcpy() 818 xfer_num - 1, reg_a(meta->paired_st->dst_reg * 2), off, in nfp_cpp_memcpy() 841 wrp_reg_subpart(nfp_prog, reg_both(meta->insn.dst_reg * 2), in nfp_cpp_memcpy() 846 wrp_reg_subpart(nfp_prog, reg_both(meta->insn.dst_reg * in nfp_cpp_memcpy() 1507 u8 dst_reg; wrp_mul() local [all...] |
/kernel/linux/linux-6.6/tools/testing/selftests/bpf/verifier/ |
H A D | atomic_fetch.c | 95 #define __ATOMIC_FETCH_OP_TEST(src_reg, dst_reg, operand1, op, operand2, expect) \ 97 "atomic fetch " #op ", src=" #dst_reg " dst=" #dst_reg, \ 102 BPF_MOV64_REG(dst_reg, BPF_REG_10), \ 105 dst_reg, src_reg, -8), \
|