|
@@ -2940,10 +2940,7 @@ static int adjust_scalar_min_max_vals(struct bpf_verifier_env *env,
|
|
|
dst_reg->umin_value <<= umin_val;
|
|
|
dst_reg->umax_value <<= umax_val;
|
|
|
}
|
|
|
- if (src_known)
|
|
|
- dst_reg->var_off = tnum_lshift(dst_reg->var_off, umin_val);
|
|
|
- else
|
|
|
- dst_reg->var_off = tnum_lshift(tnum_unknown, umin_val);
|
|
|
+ dst_reg->var_off = tnum_lshift(dst_reg->var_off, umin_val);
|
|
|
/* We may learn something more from the var_off */
|
|
|
__update_reg_bounds(dst_reg);
|
|
|
break;
|
|
@@ -2971,11 +2968,7 @@ static int adjust_scalar_min_max_vals(struct bpf_verifier_env *env,
|
|
|
*/
|
|
|
dst_reg->smin_value = S64_MIN;
|
|
|
dst_reg->smax_value = S64_MAX;
|
|
|
- if (src_known)
|
|
|
- dst_reg->var_off = tnum_rshift(dst_reg->var_off,
|
|
|
- umin_val);
|
|
|
- else
|
|
|
- dst_reg->var_off = tnum_rshift(tnum_unknown, umin_val);
|
|
|
+ dst_reg->var_off = tnum_rshift(dst_reg->var_off, umin_val);
|
|
|
dst_reg->umin_value >>= umax_val;
|
|
|
dst_reg->umax_value >>= umin_val;
|
|
|
/* We may learn something more from the var_off */
|