Lines Matching refs:off_reg
6737 const struct bpf_reg_state *off_reg, in sanitize_ptr_alu() argument
6744 bool off_is_imm = tnum_is_const(off_reg->var_off); in sanitize_ptr_alu()
6745 bool off_is_neg = off_reg->smin_value < 0; in sanitize_ptr_alu()
6764 if (!tnum_is_const(off_reg->var_off) && in sanitize_ptr_alu()
6765 (off_reg->smin_value < 0) != (off_reg->smax_value < 0)) in sanitize_ptr_alu()
6845 const struct bpf_reg_state *off_reg, in sanitize_err() argument
6855 off_reg == dst_reg ? dst : src, err); in sanitize_err()
6859 off_reg == dst_reg ? src : dst, err); in sanitize_err()
6956 const struct bpf_reg_state *off_reg) in adjust_ptr_min_max_vals() argument
6961 bool known = tnum_is_const(off_reg->var_off); in adjust_ptr_min_max_vals()
6962 s64 smin_val = off_reg->smin_value, smax_val = off_reg->smax_value, in adjust_ptr_min_max_vals()
6964 u64 umin_val = off_reg->umin_value, umax_val = off_reg->umax_value, in adjust_ptr_min_max_vals()
7026 if (!check_reg_sane_offset(env, off_reg, ptr_reg->type) || in adjust_ptr_min_max_vals()
7034 ret = sanitize_ptr_alu(env, insn, ptr_reg, off_reg, dst_reg, in adjust_ptr_min_max_vals()
7037 return sanitize_err(env, insn, ret, off_reg, dst_reg); in adjust_ptr_min_max_vals()
7082 dst_reg->var_off = tnum_add(ptr_reg->var_off, off_reg->var_off); in adjust_ptr_min_max_vals()
7092 if (dst_reg == off_reg) { in adjust_ptr_min_max_vals()
7141 dst_reg->var_off = tnum_sub(ptr_reg->var_off, off_reg->var_off); in adjust_ptr_min_max_vals()
7175 ret = sanitize_ptr_alu(env, insn, dst_reg, off_reg, dst_reg, in adjust_ptr_min_max_vals()
7178 return sanitize_err(env, insn, ret, off_reg, dst_reg); in adjust_ptr_min_max_vals()
7925 struct bpf_reg_state *ptr_reg = NULL, off_reg = {0}; in adjust_reg_min_max_vals() local
7977 off_reg.type = SCALAR_VALUE; in adjust_reg_min_max_vals()
7978 __mark_reg_known(&off_reg, insn->imm); in adjust_reg_min_max_vals()
7979 src_reg = &off_reg; in adjust_reg_min_max_vals()
12723 u32 off_reg; in do_misc_fixups() local
12735 off_reg = issrc ? insn->src_reg : insn->dst_reg; in do_misc_fixups()
12740 *patch++ = BPF_ALU64_IMM(BPF_MUL, off_reg, -1); in do_misc_fixups()
12742 *patch++ = BPF_ALU64_REG(BPF_SUB, BPF_REG_AX, off_reg); in do_misc_fixups()
12743 *patch++ = BPF_ALU64_REG(BPF_OR, BPF_REG_AX, off_reg); in do_misc_fixups()
12746 *patch++ = BPF_ALU64_REG(BPF_AND, BPF_REG_AX, off_reg); in do_misc_fixups()
12756 *patch++ = BPF_ALU64_IMM(BPF_MUL, off_reg, -1); in do_misc_fixups()