Lines Matching refs:smin_value

379 	if (reg->smin_value > S64_MIN) {  in verbose_invalid_scalar()
380 verbose(env, " smin=%lld", reg->smin_value); in verbose_invalid_scalar()
2074 reg->smin_value = (s64)imm; in ___mark_reg_known()
2226 reg->smin_value = S64_MIN; in __mark_reg_unbounded()
2239 reg->smin_value = S64_MIN; in __mark_reg64_unbounded()
2271 reg->smin_value = max_t(s64, reg->smin_value, in __update_reg64_bounds()
2323 if ((reg->smin_value >> 32) == (reg->smax_value >> 32)) { in __reg32_deduce_bounds()
2325 if ((u32)reg->smin_value <= (u32)reg->smax_value) { in __reg32_deduce_bounds()
2326 reg->u32_min_value = max_t(u32, reg->u32_min_value, (u32)reg->smin_value); in __reg32_deduce_bounds()
2330 if ((s32)reg->smin_value <= (s32)reg->smax_value) { in __reg32_deduce_bounds()
2331 reg->s32_min_value = max_t(s32, reg->s32_min_value, (s32)reg->smin_value); in __reg32_deduce_bounds()
2353 if ((u32)(reg->smin_value >> 32) + 1 == (u32)(reg->smax_value >> 32) && in __reg32_deduce_bounds()
2354 (s32)reg->smin_value < 0 && (s32)reg->smax_value >= 0) { in __reg32_deduce_bounds()
2355 reg->s32_min_value = max_t(s32, reg->s32_min_value, (s32)reg->smin_value); in __reg32_deduce_bounds()
2445 reg->smin_value = max_t(s64, reg->smin_value, reg->umin_value); in __reg64_deduce_bounds()
2452 if ((u64)reg->smin_value <= (u64)reg->smax_value) { in __reg64_deduce_bounds()
2453 reg->umin_value = max_t(u64, reg->smin_value, reg->umin_value); in __reg64_deduce_bounds()
2481 new_smin = (reg->smin_value & ~0xffffffffULL) | reg->u32_min_value; in __reg_deduce_mixed_bounds()
2483 reg->smin_value = max_t(s64, reg->smin_value, new_smin); in __reg_deduce_mixed_bounds()
2494 new_smin = (reg->smin_value & ~0xffffffffULL) | (u32)reg->s32_min_value; in __reg_deduce_mixed_bounds()
2496 reg->smin_value = max_t(s64, reg->smin_value, new_smin); in __reg_deduce_mixed_bounds()
2529 if (reg->s32_min_value >= 0 && reg->smin_value >= S32_MIN && reg->smax_value <= S32_MAX) { in __reg_deduce_mixed_bounds()
2530 reg->smin_value = reg->s32_min_value; in __reg_deduce_mixed_bounds()
2535 tnum_range(reg->smin_value, reg->smax_value)); in __reg_deduce_mixed_bounds()
2581 reg->smin_value > reg->smax_value || in reg_bounds_sanity_check()
2593 reg->smin_value != sval || reg->smax_value != sval) { in reg_bounds_sanity_check()
2615 reg->smin_value, reg->smax_value, in reg_bounds_sanity_check()
2641 reg->smin_value = reg->s32_min_value; in __reg_assign_32_into_64()
2644 reg->smin_value = 0; in __reg_assign_32_into_64()
2700 reg->smin_value = max_t(s64, reg->smin_value, s32_min); in __mark_reg_s32_range()
5159 min_off = ptr_reg->smin_value + off; in check_stack_write_var_off()
5473 min_off = reg->smin_value + off; in check_stack_read_var_off()
5647 if (reg->smin_value < 0 && in check_mem_region_access()
5648 (reg->smin_value == S64_MIN || in check_mem_region_access()
5649 (off + reg->smin_value != (s64)(s32)(off + reg->smin_value)) || in check_mem_region_access()
5650 reg->smin_value + off < 0)) { in check_mem_region_access()
5655 err = __check_mem_access(env, regno, reg->smin_value + off, size, in check_mem_region_access()
5985 if (reg->smin_value + off < p + field->size && in check_map_access()
6083 if (reg->smin_value < 0) { in check_packet_access()
6164 if (reg->smin_value < 0) { in check_sock_access()
6772 reg->smin_value = reg->umin_value; in coerce_reg_to_size()
6788 reg->smin_value = reg->s32_min_value = S8_MIN; in set_sext64_default_val()
6791 reg->smin_value = reg->s32_min_value = S16_MIN; in set_sext64_default_val()
6795 reg->smin_value = reg->s32_min_value = S32_MIN; in set_sext64_default_val()
6821 reg->smax_value = reg->smin_value = u64_cval; in coerce_reg_to_size_sx()
6829 top_smin_value = ((u64)reg->smin_value >> num_bits) << num_bits; in coerce_reg_to_size_sx()
6837 init_s64_min = (s8)reg->smin_value; in coerce_reg_to_size_sx()
6840 init_s64_min = (s16)reg->smin_value; in coerce_reg_to_size_sx()
6843 init_s64_min = (s32)reg->smin_value; in coerce_reg_to_size_sx()
6851 reg->s32_min_value = reg->smin_value = s64_min; in coerce_reg_to_size_sx()
7355 reg->smin_value <= -BPF_MAX_VAR_OFF) { in check_stack_access_within_bounds()
7360 min_off = reg->smin_value + off; in check_stack_access_within_bounds()
7946 min_off = reg->smin_value + off; in check_stack_range_initialized()
8164 if (reg->smin_value < 0) { in check_mem_size_reg()
10829 return range.minval <= reg->smin_value && reg->smax_value <= range.maxval; in retval_range_within()
10941 ret_reg->smin_value = -MAX_ERRNO; in do_refine_retval_range()
10952 ret_reg->smin_value = 0; in do_refine_retval_range()
13929 s64 smin = reg->smin_value; in check_reg_sane_offset()
13984 ptr_reg->smin_value : in retrieve_ptr_limit()
14073 bool off_is_neg = off_reg->smin_value < 0; in sanitize_ptr_alu()
14093 (off_reg->smin_value < 0) != (off_reg->smax_value < 0)) in sanitize_ptr_alu()
14290 s64 smin_val = off_reg->smin_value, smax_val = off_reg->smax_value, in adjust_ptr_min_max_vals()
14291 smin_ptr = ptr_reg->smin_value, smax_ptr = ptr_reg->smax_value; in adjust_ptr_min_max_vals()
14386 dst_reg->smin_value = smin_ptr; in adjust_ptr_min_max_vals()
14404 if (check_add_overflow(smin_ptr, smin_val, &dst_reg->smin_value) || in adjust_ptr_min_max_vals()
14406 dst_reg->smin_value = S64_MIN; in adjust_ptr_min_max_vals()
14442 dst_reg->smin_value = smin_ptr; in adjust_ptr_min_max_vals()
14455 if (check_sub_overflow(smin_ptr, smax_val, &dst_reg->smin_value) || in adjust_ptr_min_max_vals()
14458 dst_reg->smin_value = S64_MIN; in adjust_ptr_min_max_vals()
14532 s64 *dst_smin = &dst_reg->smin_value; in scalar_min_max_add()
14537 if (check_add_overflow(*dst_smin, src_reg->smin_value, dst_smin) || in scalar_min_max_add()
14577 s64 *dst_smin = &dst_reg->smin_value; in scalar_min_max_sub()
14583 check_sub_overflow(*dst_smax, src_reg->smin_value, dst_smax)) { in scalar_min_max_sub()
14630 s64 *dst_smin = &dst_reg->smin_value; in scalar_min_max_mul()
14642 if (check_mul_overflow(*dst_smin, src_reg->smin_value, &tmp_prod[0]) || in scalar_min_max_mul()
14644 check_mul_overflow(*dst_smax, src_reg->smin_value, &tmp_prod[2]) || in scalar_min_max_mul()
14708 dst_reg->smin_value = dst_reg->umin_value; in scalar_min_max_and()
14711 dst_reg->smin_value = S64_MIN; in scalar_min_max_and()
14771 dst_reg->smin_value = dst_reg->umin_value; in scalar_min_max_or()
14774 dst_reg->smin_value = S64_MIN; in scalar_min_max_or()
14829 dst_reg->smin_value = dst_reg->umin_value; in scalar_min_max_xor()
14832 dst_reg->smin_value = S64_MIN; in scalar_min_max_xor()
14891 dst_reg->smin_value = (s64)dst_reg->s32_min_value << 32; in __scalar64_min_max_lsh()
14893 dst_reg->smin_value = S64_MIN; in __scalar64_min_max_lsh()
14972 dst_reg->smin_value = S64_MIN; in scalar_min_max_rsh()
15017 dst_reg->smin_value >>= umin_val; in scalar_min_max_arsh()
15049 && src_reg->smin_value == src_reg->smax_value in is_safe_to_compute_dst_reg_range()
15640 s64 smin1 = is_jmp32 ? (s64)reg1->s32_min_value : reg1->smin_value; in is_scalar_branch_taken()
15644 s64 smin2 = is_jmp32 ? (s64)reg2->s32_min_value : reg2->smin_value; in is_scalar_branch_taken()
15934 reg1->smin_value = max(reg1->smin_value, reg2->smin_value); in regs_refine_cond_op()
15938 reg2->smin_value = reg1->smin_value; in regs_refine_cond_op()
15978 if (reg1->smin_value == (s64)val) in regs_refine_cond_op()
15979 reg1->smin_value++; in regs_refine_cond_op()
16046 reg2->smin_value = max(reg1->smin_value, reg2->smin_value); in regs_refine_cond_op()
16055 reg2->smin_value = max(reg1->smin_value + 1, reg2->smin_value); in regs_refine_cond_op()
16117 if (WARN_ON_ONCE(reg->smin_value || reg->smax_value || !tnum_equals_const(reg->var_off, 0))) in mark_ptr_or_null_reg()
18137 old->smin_value <= cur->smin_value && in range_within()