Lines Matching refs:ptr_reg

5236 	struct bpf_reg_state *ptr_reg = NULL, *value_reg = NULL;  in check_stack_write_var_off()  local
5245 ptr_reg = &cur->regs[ptr_regno]; in check_stack_write_var_off()
5246 min_off = ptr_reg->smin_value + off; in check_stack_write_var_off()
5247 max_off = ptr_reg->smax_value + off + size; in check_stack_write_var_off()
14339 static int retrieve_ptr_limit(const struct bpf_reg_state *ptr_reg, in retrieve_ptr_limit() argument
14344 switch (ptr_reg->type) { in retrieve_ptr_limit()
14352 ptr_limit = -(ptr_reg->var_off.value + ptr_reg->off); in retrieve_ptr_limit()
14355 max = ptr_reg->map_ptr->value_size; in retrieve_ptr_limit()
14357 ptr_reg->smin_value : in retrieve_ptr_limit()
14358 ptr_reg->umax_value) + ptr_reg->off; in retrieve_ptr_limit()
14438 const struct bpf_reg_state *ptr_reg, in sanitize_ptr_alu() argument
14448 bool ptr_is_dst_reg = ptr_reg == dst_reg; in sanitize_ptr_alu()
14473 err = retrieve_ptr_limit(ptr_reg, &alu_limit, info->mask_to_left); in sanitize_ptr_alu()
14522 copy_register_state(dst_reg, ptr_reg); in sanitize_ptr_alu()
14656 const struct bpf_reg_state *ptr_reg, in adjust_ptr_min_max_vals() argument
14664 smin_ptr = ptr_reg->smin_value, smax_ptr = ptr_reg->smax_value; in adjust_ptr_min_max_vals()
14666 umin_ptr = ptr_reg->umin_value, umax_ptr = ptr_reg->umax_value; in adjust_ptr_min_max_vals()
14696 if (ptr_reg->type & PTR_MAYBE_NULL) { in adjust_ptr_min_max_vals()
14698 dst, reg_type_str(env, ptr_reg->type)); in adjust_ptr_min_max_vals()
14706 if (base_type(ptr_reg->type) == PTR_TO_MEM && (ptr_reg->type & PTR_UNTRUSTED)) in adjust_ptr_min_max_vals()
14709 switch (base_type(ptr_reg->type)) { in adjust_ptr_min_max_vals()
14734 dst, reg_type_str(env, ptr_reg->type)); in adjust_ptr_min_max_vals()
14741 dst_reg->type = ptr_reg->type; in adjust_ptr_min_max_vals()
14742 dst_reg->id = ptr_reg->id; in adjust_ptr_min_max_vals()
14744 if (!check_reg_sane_offset(env, off_reg, ptr_reg->type) || in adjust_ptr_min_max_vals()
14745 !check_reg_sane_offset(env, ptr_reg, ptr_reg->type)) in adjust_ptr_min_max_vals()
14752 ret = sanitize_ptr_alu(env, insn, ptr_reg, off_reg, dst_reg, in adjust_ptr_min_max_vals()
14763 if (known && (ptr_reg->off + smin_val == in adjust_ptr_min_max_vals()
14764 (s64)(s32)(ptr_reg->off + smin_val))) { in adjust_ptr_min_max_vals()
14770 dst_reg->var_off = ptr_reg->var_off; in adjust_ptr_min_max_vals()
14771 dst_reg->off = ptr_reg->off + smin_val; in adjust_ptr_min_max_vals()
14772 dst_reg->raw = ptr_reg->raw; in adjust_ptr_min_max_vals()
14794 dst_reg->var_off = tnum_add(ptr_reg->var_off, off_reg->var_off); in adjust_ptr_min_max_vals()
14795 dst_reg->off = ptr_reg->off; in adjust_ptr_min_max_vals()
14796 dst_reg->raw = ptr_reg->raw; in adjust_ptr_min_max_vals()
14797 if (reg_is_pkt_pointer(ptr_reg)) { in adjust_ptr_min_max_vals()
14814 if (ptr_reg->type == PTR_TO_STACK) { in adjust_ptr_min_max_vals()
14819 if (known && (ptr_reg->off - smin_val == in adjust_ptr_min_max_vals()
14820 (s64)(s32)(ptr_reg->off - smin_val))) { in adjust_ptr_min_max_vals()
14826 dst_reg->var_off = ptr_reg->var_off; in adjust_ptr_min_max_vals()
14827 dst_reg->id = ptr_reg->id; in adjust_ptr_min_max_vals()
14828 dst_reg->off = ptr_reg->off - smin_val; in adjust_ptr_min_max_vals()
14829 dst_reg->raw = ptr_reg->raw; in adjust_ptr_min_max_vals()
14850 dst_reg->var_off = tnum_sub(ptr_reg->var_off, off_reg->var_off); in adjust_ptr_min_max_vals()
14851 dst_reg->off = ptr_reg->off; in adjust_ptr_min_max_vals()
14852 dst_reg->raw = ptr_reg->raw; in adjust_ptr_min_max_vals()
14853 if (reg_is_pkt_pointer(ptr_reg)) { in adjust_ptr_min_max_vals()
14874 if (!check_reg_sane_offset(env, dst_reg, ptr_reg->type)) in adjust_ptr_min_max_vals()
15615 struct bpf_reg_state *ptr_reg = NULL, off_reg = {0}; in adjust_reg_min_max_vals() local
15638 ptr_reg = dst_reg; in adjust_reg_min_max_vals()
15667 } else if (ptr_reg) { in adjust_reg_min_max_vals()
15687 if (ptr_reg) /* pointer += K */ in adjust_reg_min_max_vals()
15689 ptr_reg, src_reg); in adjust_reg_min_max_vals()
15693 if (WARN_ON_ONCE(ptr_reg)) { in adjust_reg_min_max_vals()