Lines Matching refs:var_off

585 		    tnum_is_const(reg->var_off)) {  in print_verifier_state()
587 verbose(env, "%lld", reg->var_off.value + reg->off); in print_verifier_state()
606 if (tnum_is_const(reg->var_off)) { in print_verifier_state()
611 verbose(env, ",imm=%llx", reg->var_off.value); in print_verifier_state()
627 if (!tnum_is_unknown(reg->var_off)) { in print_verifier_state()
630 tnum_strn(tn_buf, sizeof(tn_buf), reg->var_off); in print_verifier_state()
675 if (t == SCALAR_VALUE && tnum_is_const(reg->var_off)) in print_verifier_state()
676 verbose(env, "%lld", reg->var_off.value + reg->off); in print_verifier_state()
1016 reg->var_off = tnum_const(imm); in ___mark_reg_known()
1035 offsetof(struct bpf_reg_state, var_off) - sizeof(reg->type)); in __mark_reg_known()
1041 reg->var_off = tnum_const_subreg(reg->var_off, imm); in __mark_reg32_known()
1097 tnum_equals_const(reg->var_off, 0); in reg_is_init_pkt_pointer()
1132 struct tnum var32_off = tnum_subreg(reg->var_off); in __update_reg32_bounds()
1149 reg->var_off.value | (reg->var_off.mask & S64_MIN)); in __update_reg64_bounds()
1152 reg->var_off.value | (reg->var_off.mask & S64_MAX)); in __update_reg64_bounds()
1153 reg->umin_value = max(reg->umin_value, reg->var_off.value); in __update_reg64_bounds()
1155 reg->var_off.value | reg->var_off.mask); in __update_reg64_bounds()
1242 struct tnum var64_off = tnum_intersect(reg->var_off, in __reg_bound_offset()
1245 struct tnum var32_off = tnum_intersect(tnum_subreg(reg->var_off), in __reg_bound_offset()
1249 reg->var_off = tnum_or(tnum_clear_subreg(var64_off), var32_off); in __reg_bound_offset()
1276 if (tnum_equals_const(tnum_clear_subreg(reg->var_off), 0)) { in __reg_combine_32_into_64()
1341 memset(reg, 0, offsetof(struct bpf_reg_state, var_off)); in __mark_reg_unknown()
1343 reg->var_off = tnum_unknown; in __mark_reg_unknown()
1568 parent->var_off.value, parent->off); in mark_reg_read()
2226 return reg->type == SCALAR_VALUE && tnum_equals_const(reg->var_off, 0); in register_is_null()
2231 return reg->type == SCALAR_VALUE && tnum_is_const(reg->var_off); in register_is_const()
2236 return tnum_is_unknown(reg->var_off) && in __is_scalar_unbounded()
2509 if (!tnum_is_const(reg->var_off)) { in check_stack_access()
2512 tnum_strn(tn_buf, sizeof(tn_buf), reg->var_off); in check_stack_access()
2912 reg_off = tnum_add(reg->var_off, tnum_const(ip_align + reg->off + off)); in check_pkt_ptr_alignment()
2916 tnum_strn(tn_buf, sizeof(tn_buf), reg->var_off); in check_pkt_ptr_alignment()
2937 reg_off = tnum_add(reg->var_off, tnum_const(reg->off + off)); in check_generic_ptr_alignment()
2941 tnum_strn(tn_buf, sizeof(tn_buf), reg->var_off); in check_generic_ptr_alignment()
3146 if (!tnum_is_const(reg->var_off) || reg->var_off.value) { in check_ctx_reg()
3149 tnum_strn(tn_buf, sizeof(tn_buf), reg->var_off); in check_ctx_reg()
3168 if (!tnum_is_const(reg->var_off) || reg->var_off.value) { in __check_buffer_access()
3171 tnum_strn(tn_buf, sizeof(tn_buf), reg->var_off); in __check_buffer_access()
3219 reg->var_off = tnum_subreg(reg->var_off); in zext_32_to_64()
3231 reg->var_off = tnum_cast(reg->var_off, size); in coerce_reg_to_size()
3307 if (!tnum_is_const(reg->var_off) || reg->var_off.value) { in check_ptr_to_btf_access()
3310 tnum_strn(tn_buf, sizeof(tn_buf), reg->var_off); in check_ptr_to_btf_access()
3436 if (tnum_is_const(reg->var_off) && in check_mem_access()
3439 int map_off = off + reg->var_off.value; in check_mem_access()
3506 off += reg->var_off.value; in check_mem_access()
3651 if (tnum_is_const(reg->var_off)) { in __check_stack_boundary()
3657 tnum_strn(tn_buf, sizeof(tn_buf), reg->var_off); in __check_stack_boundary()
3680 if (tnum_is_const(reg->var_off)) { in check_stack_boundary()
3681 min_off = max_off = reg->var_off.value + reg->off; in check_stack_boundary()
3695 tnum_strn(tn_buf, sizeof(tn_buf), reg->var_off); in check_stack_boundary()
3768 if (tnum_is_const(reg->var_off)) { in check_stack_boundary()
3774 tnum_strn(tn_buf, sizeof(tn_buf), reg->var_off); in check_stack_boundary()
3864 bool is_const = tnum_is_const(reg->var_off); in process_spin_lock()
3866 u64 val = reg->var_off.value; in process_spin_lock()
4125 if (!tnum_is_const(reg->var_off) || reg->var_off.value) { in check_reg_type()
4276 if (!tnum_is_const(reg->var_off)) in check_func_arg()
4309 if (!tnum_is_const(reg->var_off)) { in check_func_arg()
4314 meta->mem_size = reg->var_off.value; in check_func_arg()
4967 if (!register_is_const(reg) || !tnum_in(range, reg->var_off)) { in record_func_key()
4976 val = reg->var_off.value; in record_func_key()
5292 bool known = tnum_is_const(reg->var_off); in check_reg_sane_offset()
5293 s64 val = reg->var_off.value; in check_reg_sane_offset()
5340 off = ptr_reg->off + ptr_reg->var_off.value; in retrieve_ptr_limit()
5458 bool known = tnum_is_const(off_reg->var_off); in adjust_ptr_min_max_vals()
5553 dst_reg->var_off = ptr_reg->var_off; in adjust_ptr_min_max_vals()
5583 dst_reg->var_off = tnum_add(ptr_reg->var_off, off_reg->var_off); in adjust_ptr_min_max_vals()
5620 dst_reg->var_off = ptr_reg->var_off; in adjust_ptr_min_max_vals()
5647 dst_reg->var_off = tnum_sub(ptr_reg->var_off, off_reg->var_off); in adjust_ptr_min_max_vals()
5689 dst_reg->var_off.value, 1)) { in adjust_ptr_min_max_vals()
5874 bool src_known = tnum_subreg_is_const(src_reg->var_off); in scalar32_min_max_and()
5875 bool dst_known = tnum_subreg_is_const(dst_reg->var_off); in scalar32_min_max_and()
5876 struct tnum var32_off = tnum_subreg(dst_reg->var_off); in scalar32_min_max_and()
5910 bool src_known = tnum_is_const(src_reg->var_off); in scalar_min_max_and()
5911 bool dst_known = tnum_is_const(dst_reg->var_off); in scalar_min_max_and()
5916 __mark_reg_known(dst_reg, dst_reg->var_off.value); in scalar_min_max_and()
5923 dst_reg->umin_value = dst_reg->var_off.value; in scalar_min_max_and()
5945 bool src_known = tnum_subreg_is_const(src_reg->var_off); in scalar32_min_max_or()
5946 bool dst_known = tnum_subreg_is_const(dst_reg->var_off); in scalar32_min_max_or()
5947 struct tnum var32_off = tnum_subreg(dst_reg->var_off); in scalar32_min_max_or()
5980 bool src_known = tnum_is_const(src_reg->var_off); in scalar_min_max_or()
5981 bool dst_known = tnum_is_const(dst_reg->var_off); in scalar_min_max_or()
5986 __mark_reg_known(dst_reg, dst_reg->var_off.value); in scalar_min_max_or()
5994 dst_reg->umax_value = dst_reg->var_off.value | dst_reg->var_off.mask; in scalar_min_max_or()
6015 bool src_known = tnum_subreg_is_const(src_reg->var_off); in scalar32_min_max_xor()
6016 bool dst_known = tnum_subreg_is_const(dst_reg->var_off); in scalar32_min_max_xor()
6017 struct tnum var32_off = tnum_subreg(dst_reg->var_off); in scalar32_min_max_xor()
6045 bool src_known = tnum_is_const(src_reg->var_off); in scalar_min_max_xor()
6046 bool dst_known = tnum_is_const(dst_reg->var_off); in scalar_min_max_xor()
6051 __mark_reg_known(dst_reg, dst_reg->var_off.value); in scalar_min_max_xor()
6056 dst_reg->umin_value = dst_reg->var_off.value; in scalar_min_max_xor()
6057 dst_reg->umax_value = dst_reg->var_off.value | dst_reg->var_off.mask; in scalar_min_max_xor()
6097 struct tnum subreg = tnum_subreg(dst_reg->var_off); in scalar32_min_max_lsh()
6100 dst_reg->var_off = tnum_subreg(tnum_lshift(subreg, umin_val)); in scalar32_min_max_lsh()
6149 dst_reg->var_off = tnum_lshift(dst_reg->var_off, umin_val); in scalar_min_max_lsh()
6157 struct tnum subreg = tnum_subreg(dst_reg->var_off); in scalar32_min_max_rsh()
6178 dst_reg->var_off = tnum_rshift(subreg, umin_val); in scalar32_min_max_rsh()
6208 dst_reg->var_off = tnum_rshift(dst_reg->var_off, umin_val); in scalar_min_max_rsh()
6231 dst_reg->var_off = tnum_arshift(tnum_subreg(dst_reg->var_off), umin_val, 32); in scalar32_min_max_arsh()
6254 dst_reg->var_off = tnum_arshift(dst_reg->var_off, umin_val, 64); in scalar_min_max_arsh()
6302 src_known = tnum_subreg_is_const(src_reg.var_off); in adjust_scalar_min_max_vals()
6313 src_known = tnum_is_const(src_reg.var_off); in adjust_scalar_min_max_vals()
6354 dst_reg->var_off = tnum_add(dst_reg->var_off, src_reg.var_off); in adjust_scalar_min_max_vals()
6364 dst_reg->var_off = tnum_sub(dst_reg->var_off, src_reg.var_off); in adjust_scalar_min_max_vals()
6367 dst_reg->var_off = tnum_mul(dst_reg->var_off, src_reg.var_off); in adjust_scalar_min_max_vals()
6372 dst_reg->var_off = tnum_and(dst_reg->var_off, src_reg.var_off); in adjust_scalar_min_max_vals()
6377 dst_reg->var_off = tnum_or(dst_reg->var_off, src_reg.var_off); in adjust_scalar_min_max_vals()
6382 dst_reg->var_off = tnum_xor(dst_reg->var_off, src_reg.var_off); in adjust_scalar_min_max_vals()
6796 struct tnum subreg = tnum_subreg(reg->var_off); in is_branch32_taken()
6874 if (tnum_is_const(reg->var_off)) in is_branch64_taken()
6875 return !!tnum_equals_const(reg->var_off, val); in is_branch64_taken()
6878 if (tnum_is_const(reg->var_off)) in is_branch64_taken()
6879 return !tnum_equals_const(reg->var_off, val); in is_branch64_taken()
6882 if ((~reg->var_off.mask & reg->var_off.value) & val) in is_branch64_taken()
6884 if (!((reg->var_off.mask | reg->var_off.value) & val)) in is_branch64_taken()
6985 struct tnum false_32off = tnum_subreg(false_reg->var_off); in reg_set_min_max()
6986 struct tnum false_64off = false_reg->var_off; in reg_set_min_max()
6987 struct tnum true_32off = tnum_subreg(true_reg->var_off); in reg_set_min_max()
6988 struct tnum true_64off = true_reg->var_off; in reg_set_min_max()
7116 false_reg->var_off = tnum_or(tnum_clear_subreg(false_64off), in reg_set_min_max()
7118 true_reg->var_off = tnum_or(tnum_clear_subreg(true_64off), in reg_set_min_max()
7123 false_reg->var_off = false_64off; in reg_set_min_max()
7124 true_reg->var_off = true_64off; in reg_set_min_max()
7174 src_reg->var_off = dst_reg->var_off = tnum_intersect(src_reg->var_off, in __reg_combine_min_max()
7175 dst_reg->var_off); in __reg_combine_min_max()
7220 !tnum_equals_const(reg->var_off, 0) || in mark_ptr_or_null_reg()
7488 is_jmp32 && tnum_is_const(tnum_subreg(src_reg->var_off))) { in check_cond_jmp_op()
7490 tnum_subreg(src_reg->var_off).value, in check_cond_jmp_op()
7494 !is_jmp32 && tnum_is_const(src_reg->var_off)) { in check_cond_jmp_op()
7496 src_reg->var_off.value, in check_cond_jmp_op()
7541 if (tnum_is_const(src_reg->var_off) || in check_cond_jmp_op()
7543 tnum_is_const(tnum_subreg(src_reg->var_off)))) in check_cond_jmp_op()
7546 src_reg->var_off.value, in check_cond_jmp_op()
7547 tnum_subreg(src_reg->var_off).value, in check_cond_jmp_op()
7549 else if (tnum_is_const(dst_reg->var_off) || in check_cond_jmp_op()
7551 tnum_is_const(tnum_subreg(dst_reg->var_off)))) in check_cond_jmp_op()
7554 dst_reg->var_off.value, in check_cond_jmp_op()
7555 tnum_subreg(dst_reg->var_off).value, in check_cond_jmp_op()
7882 if (!tnum_in(range, reg->var_off)) { in check_return_code()
7886 if (!tnum_is_unknown(reg->var_off)) { in check_return_code()
7887 tnum_strn(tn_buf, sizeof(tn_buf), reg->var_off); in check_return_code()
7898 tnum_in(enforce_attach_type_range, reg->var_off)) in check_return_code()
8634 tnum_in(rold->var_off, rcur->var_off); in regsafe()
8656 tnum_in(rold->var_off, rcur->var_off); in regsafe()
8693 tnum_in(rold->var_off, rcur->var_off); in regsafe()