Lines Matching refs:bpf_reg_state

205 			      struct bpf_reg_state *reg);
208 static bool is_trusted_reg(const struct bpf_reg_state *reg);
372 struct bpf_reg_state *reg, in verbose_invalid_scalar()
392 static bool reg_not_null(const struct bpf_reg_state *reg) in reg_not_null()
410 static struct btf_record *reg_btf_record(const struct bpf_reg_state *reg) in reg_btf_record()
457 static bool reg_may_point_to_spin_lock(const struct bpf_reg_state *reg) in reg_may_point_to_spin_lock()
595 const struct bpf_reg_state *reg) in func()
616 static int stack_slot_obj_get_spi(struct bpf_verifier_env *env, struct bpf_reg_state *reg, in stack_slot_obj_get_spi()
643 static int dynptr_get_spi(struct bpf_verifier_env *env, struct bpf_reg_state *reg) in dynptr_get_spi()
648 static int iter_get_spi(struct bpf_verifier_env *env, struct bpf_reg_state *reg, int nr_slots) in iter_get_spi()
653 static int irq_flag_get_spi(struct bpf_verifier_env *env, struct bpf_reg_state *reg) in irq_flag_get_spi()
695 static void __mark_dynptr_reg(struct bpf_reg_state *reg,
700 struct bpf_reg_state *reg);
703 struct bpf_reg_state *sreg1, in mark_dynptr_stack_regs()
704 struct bpf_reg_state *sreg2, in mark_dynptr_stack_regs()
714 struct bpf_reg_state *reg, in mark_dynptr_cb_reg()
723 static int mark_stack_slots_dynptr(struct bpf_verifier_env *env, struct bpf_reg_state *reg, in mark_stack_slots_dynptr()
821 static int unmark_stack_slots_dynptr(struct bpf_verifier_env *env, struct bpf_reg_state *reg) in unmark_stack_slots_dynptr()
868 struct bpf_reg_state *reg);
870 static void mark_reg_invalid(const struct bpf_verifier_env *env, struct bpf_reg_state *reg) in mark_reg_invalid()
882 struct bpf_reg_state *dreg; in destroy_if_dynptr_stack_slot()
934 static bool is_dynptr_reg_valid_uninit(struct bpf_verifier_env *env, struct bpf_reg_state *reg) in is_dynptr_reg_valid_uninit()
962 static bool is_dynptr_reg_valid_init(struct bpf_verifier_env *env, struct bpf_reg_state *reg) in is_dynptr_reg_valid_init()
991 static bool is_dynptr_type_expected(struct bpf_verifier_env *env, struct bpf_reg_state *reg, in is_dynptr_type_expected()
1013 static void __mark_reg_known_zero(struct bpf_reg_state *reg);
1021 struct bpf_reg_state *reg, int insn_idx, in mark_stack_slots_iter()
1037 struct bpf_reg_state *st = &slot->spilled_ptr; in mark_stack_slots_iter()
1064 struct bpf_reg_state *reg, int nr_slots) in unmark_stack_slots_iter()
1075 struct bpf_reg_state *st = &slot->spilled_ptr; in unmark_stack_slots_iter()
1095 struct bpf_reg_state *reg, int nr_slots) in is_iter_reg_valid_uninit()
1121 static int is_iter_reg_valid_init(struct bpf_verifier_env *env, struct bpf_reg_state *reg, in is_iter_reg_valid_init()
1133 struct bpf_reg_state *st = &slot->spilled_ptr; in is_iter_reg_valid_init()
1158 struct bpf_reg_state *reg, int insn_idx, in mark_stack_slot_irq_flag()
1163 struct bpf_reg_state *st; in mark_stack_slot_irq_flag()
1190 static int unmark_stack_slot_irq_flag(struct bpf_verifier_env *env, struct bpf_reg_state *reg, in unmark_stack_slot_irq_flag()
1195 struct bpf_reg_state *st; in unmark_stack_slot_irq_flag()
1243 static bool is_irq_flag_reg_valid_uninit(struct bpf_verifier_env *env, struct bpf_reg_state *reg) in is_irq_flag_reg_valid_uninit()
1267 static int is_irq_flag_reg_valid_init(struct bpf_verifier_env *env, struct bpf_reg_state *reg) in is_irq_flag_reg_valid_init()
1271 struct bpf_reg_state *st; in is_irq_flag_reg_valid_init()
2071 static void ___mark_reg_known(struct bpf_reg_state *reg, u64 imm) in ___mark_reg_known()
2088 static void __mark_reg_known(struct bpf_reg_state *reg, u64 imm) in __mark_reg_known()
2092 offsetof(struct bpf_reg_state, var_off) - sizeof(reg->type)); in __mark_reg_known()
2098 static void __mark_reg32_known(struct bpf_reg_state *reg, u64 imm) in __mark_reg32_known()
2110 static void __mark_reg_known_zero(struct bpf_reg_state *reg) in __mark_reg_known_zero()
2115 static void __mark_reg_const_zero(const struct bpf_verifier_env *env, struct bpf_reg_state *reg) in __mark_reg_const_zero()
2126 struct bpf_reg_state *regs, u32 regno) in mark_reg_known_zero()
2138 static void __mark_dynptr_reg(struct bpf_reg_state *reg, enum bpf_dynptr_type type, in __mark_dynptr_reg()
2153 static void mark_ptr_not_null_reg(struct bpf_reg_state *reg) in mark_ptr_not_null_reg()
2182 static void mark_reg_graph_node(struct bpf_reg_state *regs, u32 regno, in mark_reg_graph_node()
2192 static bool reg_is_pkt_pointer(const struct bpf_reg_state *reg) in reg_is_pkt_pointer()
2197 static bool reg_is_pkt_pointer_any(const struct bpf_reg_state *reg) in reg_is_pkt_pointer_any()
2203 static bool reg_is_dynptr_slice_pkt(const struct bpf_reg_state *reg) in reg_is_dynptr_slice_pkt()
2210 static bool reg_is_init_pkt_pointer(const struct bpf_reg_state *reg, in reg_is_init_pkt_pointer()
2224 static void __mark_reg_unbounded(struct bpf_reg_state *reg) in __mark_reg_unbounded()
2237 static void __mark_reg64_unbounded(struct bpf_reg_state *reg) in __mark_reg64_unbounded()
2245 static void __mark_reg32_unbounded(struct bpf_reg_state *reg) in __mark_reg32_unbounded()
2253 static void __update_reg32_bounds(struct bpf_reg_state *reg) in __update_reg32_bounds()
2268 static void __update_reg64_bounds(struct bpf_reg_state *reg) in __update_reg64_bounds()
2281 static void __update_reg_bounds(struct bpf_reg_state *reg) in __update_reg_bounds()
2288 static void __reg32_deduce_bounds(struct bpf_reg_state *reg) in __reg32_deduce_bounds()
2375 static void __reg64_deduce_bounds(struct bpf_reg_state *reg) in __reg64_deduce_bounds()
2458 static void __reg_deduce_mixed_bounds(struct bpf_reg_state *reg) in __reg_deduce_mixed_bounds()
2539 static void __reg_deduce_bounds(struct bpf_reg_state *reg) in __reg_deduce_bounds()
2547 static void __reg_bound_offset(struct bpf_reg_state *reg) in __reg_bound_offset()
2559 static void reg_bounds_sync(struct bpf_reg_state *reg) in reg_bounds_sync()
2576 struct bpf_reg_state *reg, const char *ctx) in reg_bounds_sanity_check()
2630 static void __reg_assign_32_into_64(struct bpf_reg_state *reg) in __reg_assign_32_into_64()
2650 static void __mark_reg_unknown_imprecise(struct bpf_reg_state *reg) in __mark_reg_unknown_imprecise()
2656 memset(reg, 0, offsetof(struct bpf_reg_state, var_off)); in __mark_reg_unknown_imprecise()
2670 struct bpf_reg_state *reg) in __mark_reg_unknown()
2677 struct bpf_reg_state *regs, u32 regno) in mark_reg_unknown()
2690 struct bpf_reg_state *regs, in __mark_reg_s32_range()
2695 struct bpf_reg_state *reg = regs + regno; in __mark_reg_s32_range()
2709 struct bpf_reg_state *reg) in __mark_reg_not_init()
2716 struct bpf_reg_state *regs, u32 regno) in mark_reg_not_init()
2729 struct bpf_reg_state *regs, u32 regno, in mark_btf_ld_reg()
2750 struct bpf_reg_state *regs = state->regs; in init_reg_state()
3452 const struct bpf_reg_state *state, in mark_reg_read()
3453 struct bpf_reg_state *parent, u8 flag) in mark_reg_read()
3499 static int mark_stack_slot_obj_read(struct bpf_verifier_env *env, struct bpf_reg_state *reg, in mark_stack_slot_obj_read()
3506 struct bpf_reg_state *st = &state->stack[spi - i].spilled_ptr; in mark_stack_slot_obj_read()
3517 static int mark_dynptr_read(struct bpf_verifier_env *env, struct bpf_reg_state *reg) in mark_dynptr_read()
3537 static int mark_iter_read(struct bpf_verifier_env *env, struct bpf_reg_state *reg, in mark_iter_read()
3543 static int mark_irq_flag_read(struct bpf_verifier_env *env, struct bpf_reg_state *reg) in mark_irq_flag_read()
3558 u32 regno, struct bpf_reg_state *reg, enum reg_arg_type t) in is_reg64()
3679 struct bpf_reg_state *reg) in mark_insn_zext()
3691 static int __check_reg_arg(struct bpf_verifier_env *env, struct bpf_reg_state *regs, u32 regno, in __check_reg_arg()
3695 struct bpf_reg_state *reg; in __check_reg_arg()
4500 struct bpf_reg_state *reg; in mark_all_scalars_precise()
4546 struct bpf_reg_state *reg; in mark_all_scalars_imprecise()
4663 struct bpf_reg_state *reg; in __mark_chain_precision()
4876 static bool register_is_null(struct bpf_reg_state *reg) in register_is_null()
4882 static bool is_reg_const(struct bpf_reg_state *reg, bool subreg32) in is_reg_const()
4889 static u64 reg_const_value(struct bpf_reg_state *reg, bool subreg32) in reg_const_value()
4895 const struct bpf_reg_state *reg) in __is_pointer_value()
4904 struct bpf_reg_state *src_reg) in assign_scalar_id_before_mov()
4928 static void copy_register_state(struct bpf_reg_state *dst, const struct bpf_reg_state *src) in copy_register_state()
4930 struct bpf_reg_state *parent = dst->parent; in copy_register_state()
4940 int spi, struct bpf_reg_state *reg, in save_register_state()
4962 static int get_reg_width(struct bpf_reg_state *reg) in get_reg_width()
5004 struct bpf_reg_state *reg = NULL; in check_stack_write_fixed_off()
5056 struct bpf_reg_state *tmp_reg = &env->fake_reg[0]; in check_stack_write_fixed_off()
5149 struct bpf_reg_state *ptr_reg = NULL, *value_reg = NULL; in check_stack_write_var_off()
5209 struct bpf_reg_state *spill_reg = &state->stack[spi].spilled_ptr; in check_stack_write_var_off()
5307 struct bpf_reg_state *reg; in check_stack_read_fixed_off()
5439 static struct bpf_reg_state *reg_state(struct bpf_verifier_env *env, int regno) in reg_state()
5461 struct bpf_reg_state *reg = reg_state(env, ptr_regno); in check_stack_read_var_off()
5493 struct bpf_reg_state *reg = reg_state(env, ptr_regno); in check_stack_read()
5550 struct bpf_reg_state *reg = reg_state(env, ptr_regno); in check_stack_write()
5572 struct bpf_reg_state *regs = cur_regs(env); in check_map_access_type()
5597 struct bpf_reg_state *reg; in __check_mem_access()
5634 struct bpf_reg_state *reg = &state->regs[regno]; in check_mem_region_access()
5684 const struct bpf_reg_state *reg, int regno, in __check_ptr_off_reg()
5716 const struct bpf_reg_state *reg, int regno) in check_ptr_off_reg()
5723 struct bpf_reg_state *reg, u32 regno) in map_kptr_match_type()
5884 struct bpf_reg_state *reg; in mark_uptr_ld_reg()
5903 struct bpf_reg_state *val_reg; in check_map_kptr_access()
5964 struct bpf_reg_state *reg = &state->regs[regno]; in check_map_access()
6071 struct bpf_reg_state *regs = cur_regs(env); in check_packet_access()
6072 struct bpf_reg_state *reg = &regs[regno]; in check_packet_access()
6159 struct bpf_reg_state *regs = cur_regs(env); in check_sock_access()
6160 struct bpf_reg_state *reg = &regs[regno]; in check_sock_access()
6207 const struct bpf_reg_state *reg = reg_state(env, regno); in is_ctx_reg()
6214 const struct bpf_reg_state *reg = reg_state(env, regno); in is_sk_reg()
6221 const struct bpf_reg_state *reg = reg_state(env, regno); in is_pkt_reg()
6228 const struct bpf_reg_state *reg = reg_state(env, regno); in is_flow_key_reg()
6236 const struct bpf_reg_state *reg = reg_state(env, regno); in is_arena_reg()
6270 static bool is_trusted_reg(const struct bpf_reg_state *reg) in is_trusted_reg()
6294 static bool is_rcu_reg(const struct bpf_reg_state *reg) in is_rcu_reg()
6305 const struct bpf_reg_state *reg, in check_pkt_ptr_alignment()
6340 const struct bpf_reg_state *reg, in check_generic_ptr_alignment()
6364 const struct bpf_reg_state *reg, int off, in check_ptr_alignment()
6689 const struct bpf_reg_state *reg, in __check_buffer_access()
6712 const struct bpf_reg_state *reg, in check_tp_buffer_access()
6728 const struct bpf_reg_state *reg, in check_buffer_access()
6747 static void zext_32_to_64(struct bpf_reg_state *reg) in zext_32_to_64()
6756 static void coerce_reg_to_size(struct bpf_reg_state *reg, int size) in coerce_reg_to_size()
6785 static void set_sext64_default_val(struct bpf_reg_state *reg, int size) in set_sext64_default_val()
6804 static void coerce_reg_to_size_sx(struct bpf_reg_state *reg, int size) in coerce_reg_to_size_sx()
6863 static void set_sext32_default_val(struct bpf_reg_state *reg, int size) in set_sext32_default_val()
6878 static void coerce_subreg_to_size_sx(struct bpf_reg_state *reg, int size) in coerce_subreg_to_size_sx()
7051 struct bpf_reg_state *reg, in type_is_rcu()
7062 struct bpf_reg_state *reg, in type_is_rcu_or_null()
7073 struct bpf_reg_state *reg, in type_is_trusted()
7086 struct bpf_reg_state *reg, in type_is_trusted_or_null()
7096 struct bpf_reg_state *regs, in check_ptr_to_btf_access()
7101 struct bpf_reg_state *reg = regs + regno; in check_ptr_to_btf_access()
7246 struct bpf_reg_state *regs, in check_ptr_to_map_access()
7251 struct bpf_reg_state *reg = regs + regno; in check_ptr_to_map_access()
7253 struct bpf_reg_state map_reg; in check_ptr_to_map_access()
7338 struct bpf_reg_state *regs = cur_regs(env); in check_stack_access_within_bounds()
7339 struct bpf_reg_state *reg = regs + regno; in check_stack_access_within_bounds()
7414 struct bpf_reg_state *regs = cur_regs(env); in check_mem_access()
7415 struct bpf_reg_state *reg = regs + regno; in check_mem_access()
7666 struct bpf_reg_state *regs = cur_regs(env); in check_load_mem()
7698 struct bpf_reg_state *regs = cur_regs(env); in check_store_reg()
7900 struct bpf_reg_state *reg = reg_state(env, regno); in check_stack_range_initialized()
8046 struct bpf_reg_state *regs = cur_regs(env), *reg = &regs[regno]; in check_helper_mem_access()
8139 struct bpf_reg_state *reg, u32 regno, in check_mem_size_reg()
8188 static int check_mem_reg(struct bpf_verifier_env *env, struct bpf_reg_state *reg, in check_mem_reg()
8192 struct bpf_reg_state saved_reg; in check_mem_reg()
8216 static int check_kfunc_mem_size_reg(struct bpf_verifier_env *env, struct bpf_reg_state *reg, in check_kfunc_mem_size_reg()
8219 struct bpf_reg_state *mem_reg = &cur_regs(env)[regno - 1]; in check_kfunc_mem_size_reg()
8221 struct bpf_reg_state saved_reg; in check_kfunc_mem_size_reg()
8275 struct bpf_reg_state *regs = cur_regs(env), *reg = &regs[regno]; in process_spin_lock()
8390 struct bpf_reg_state *regs = cur_regs(env), *reg = &regs[regno]; in process_timer_func()
8427 struct bpf_reg_state *regs = cur_regs(env), *reg = &regs[regno]; in process_wq_func()
8444 struct bpf_reg_state *regs = cur_regs(env), *reg = &regs[regno]; in process_kptr_func()
8517 struct bpf_reg_state *regs = cur_regs(env), *reg = &regs[regno]; in process_dynptr_func()
8594 static u32 iter_ref_obj_id(struct bpf_verifier_env *env, struct bpf_reg_state *reg, int spi) in iter_ref_obj_id()
8637 struct bpf_reg_state *regs = cur_regs(env), *reg = &regs[regno]; in process_iter_arg()
8748 static bool regs_exact(const struct bpf_reg_state *rold,
8749 const struct bpf_reg_state *rcur,
8753 struct bpf_reg_state *rold, struct bpf_reg_state *rcur, in maybe_widen_reg()
8797 static struct bpf_reg_state *get_iter_from_state(struct bpf_verifier_state *cur_st, in get_iter_from_state()
8889 struct bpf_reg_state *cur_iter, *queued_iter; in process_iter_next_call()
9107 struct bpf_reg_state *regs = cur_regs(env), *reg = &regs[regno]; in check_reg_type()
9250 reg_find_field_offset(const struct bpf_reg_state *reg, s32 off, u32 fields) in reg_find_field_offset()
9267 const struct bpf_reg_state *reg, int regno, in check_func_arg_reg_off()
9337 static struct bpf_reg_state *get_dynptr_arg_reg(struct bpf_verifier_env *env, in get_dynptr_arg_reg()
9339 struct bpf_reg_state *regs) in get_dynptr_arg_reg()
9341 struct bpf_reg_state *state = NULL; in get_dynptr_arg_reg()
9359 static int dynptr_id(struct bpf_verifier_env *env, struct bpf_reg_state *reg) in dynptr_id()
9372 static int dynptr_ref_obj_id(struct bpf_verifier_env *env, struct bpf_reg_state *reg) in dynptr_ref_obj_id()
9386 struct bpf_reg_state *reg) in dynptr_get_type()
9404 struct bpf_reg_state *reg, u32 regno) in check_reg_const_str()
9453 struct bpf_reg_state *key, in get_constant_map_key()
9458 struct bpf_reg_state *reg; in get_constant_map_key()
9520 struct bpf_reg_state *regs = cur_regs(env), *reg = &regs[regno]; in check_func_arg()
10169 struct bpf_reg_state *reg; in clear_all_pkt_pointers()
10185 struct bpf_reg_state *reg = &state->regs[regn]; in mark_pkt_end()
10227 struct bpf_reg_state *reg; in release_reference()
10245 struct bpf_reg_state *reg; in invalidate_non_owning_refs()
10254 struct bpf_reg_state *regs) in clear_caller_saved_regs()
10325 struct bpf_reg_state *regs) in btf_check_func_arg_match()
10341 struct bpf_reg_state *reg = &regs[regno]; in btf_check_func_arg_match()
10420 struct bpf_reg_state *regs) in btf_check_subprog_call()
10823 static bool retval_range_within(struct bpf_retval_range range, const struct bpf_reg_state *reg, in retval_range_within()
10836 struct bpf_reg_state *r0; in prepare_func_exit()
10924 struct bpf_reg_state *regs, int ret_type, in do_refine_retval_range()
10928 struct bpf_reg_state *ret_reg = &regs[BPF_REG_0]; in do_refine_retval_range()
11012 struct bpf_reg_state *regs = cur_regs(env), *reg; in record_func_key()
11048 struct bpf_reg_state *reg = reg_state(env, BPF_REG_0); in check_reference_leak()
11105 struct bpf_reg_state *regs) in check_bpf_snprintf_call()
11107 struct bpf_reg_state *fmt_reg = &regs[BPF_REG_3]; in check_bpf_snprintf_call()
11108 struct bpf_reg_state *data_len_reg = &regs[BPF_REG_5]; in check_bpf_snprintf_call()
11170 struct bpf_reg_state *regs = cur_regs(env); in loop_flag_is_zero()
11171 struct bpf_reg_state *reg = &regs[BPF_REG_4]; in loop_flag_is_zero()
11234 struct bpf_reg_state *regs; in check_helper_call()
11365 struct bpf_reg_state *reg; in check_helper_call()
11465 struct bpf_reg_state *reg; in check_helper_call()
11502 struct bpf_reg_state *reg; in check_helper_call()
11523 struct bpf_reg_state *reg = &regs[BPF_REG_1]; in check_helper_call()
11762 static void __mark_btf_func_reg_size(struct bpf_verifier_env *env, struct bpf_reg_state *regs, in __mark_btf_func_reg_size()
11765 struct bpf_reg_state *reg = &regs[regno]; in __mark_btf_func_reg_size()
11826 const struct bpf_reg_state *reg) in is_kfunc_arg_mem_size()
11839 const struct bpf_reg_state *reg) in is_kfunc_arg_const_mem_size()
12236 struct bpf_reg_state *regs = cur_regs(env); in get_kfunc_ptr_arg_type()
12237 struct bpf_reg_state *reg = &regs[regno]; in get_kfunc_ptr_arg_type()
12325 struct bpf_reg_state *reg, in process_kf_arg_ptr_to_btf_id()
12399 struct bpf_reg_state *regs = cur_regs(env), *reg = &regs[regno]; in process_irq_flag()
12450 static int ref_set_non_owning(struct bpf_verifier_env *env, struct bpf_reg_state *reg) in ref_set_non_owning()
12475 struct bpf_reg_state *reg; in ref_convert_owning_non_owning()
12548 static int check_reg_allocation_locked(struct bpf_verifier_env *env, struct bpf_reg_state *reg) in check_reg_allocation_locked()
12705 struct bpf_reg_state *reg, u32 regno, in __process_kf_arg_ptr_to_graph_root()
12755 struct bpf_reg_state *reg, u32 regno, in process_kf_arg_ptr_to_list_head()
12763 struct bpf_reg_state *reg, u32 regno, in process_kf_arg_ptr_to_rbtree_root()
12772 struct bpf_reg_state *reg, u32 regno, in __process_kf_arg_ptr_to_graph_node()
12836 struct bpf_reg_state *reg, u32 regno, in process_kf_arg_ptr_to_list_node()
12845 struct bpf_reg_state *reg, u32 regno, in process_kf_arg_ptr_to_rbtree_node()
12897 struct bpf_reg_state *regs = cur_regs(env), *reg = &regs[i + 1]; in check_kfunc_args()
13261 struct bpf_reg_state *buff_reg = &regs[regno]; in check_kfunc_args()
13263 struct bpf_reg_state *size_reg = &regs[regno + 1]; in check_kfunc_args()
13430 struct bpf_reg_state *regs = cur_regs(env); in check_kfunc_call()
13458 struct bpf_reg_state *regs; in check_kfunc_call()
13530 struct bpf_reg_state *reg; in check_kfunc_call()
13859 struct bpf_reg_state *cur_iter; in check_kfunc_call()
13924 const struct bpf_reg_state *reg, in check_reg_sane_offset()
13966 static int retrieve_ptr_limit(const struct bpf_reg_state *ptr_reg, in retrieve_ptr_limit()
14047 struct bpf_reg_state *regs; in sanitize_speculative_path()
14064 const struct bpf_reg_state *ptr_reg, in sanitize_ptr_alu()
14065 const struct bpf_reg_state *off_reg, in sanitize_ptr_alu()
14066 struct bpf_reg_state *dst_reg, in sanitize_ptr_alu()
14077 struct bpf_reg_state tmp; in sanitize_ptr_alu()
14173 const struct bpf_reg_state *off_reg, in sanitize_err()
14174 const struct bpf_reg_state *dst_reg) in sanitize_err()
14223 const struct bpf_reg_state *reg, in check_stack_access_for_ptr_arithmetic()
14246 const struct bpf_reg_state *dst_reg) in sanitize_check_bounds()
14283 const struct bpf_reg_state *ptr_reg, in adjust_ptr_min_max_vals()
14284 const struct bpf_reg_state *off_reg) in adjust_ptr_min_max_vals()
14288 struct bpf_reg_state *regs = state->regs, *dst_reg; in adjust_ptr_min_max_vals()
14509 static void scalar32_min_max_add(struct bpf_reg_state *dst_reg, in scalar32_min_max_add()
14510 struct bpf_reg_state *src_reg) in scalar32_min_max_add()
14529 static void scalar_min_max_add(struct bpf_reg_state *dst_reg, in scalar_min_max_add()
14530 struct bpf_reg_state *src_reg) in scalar_min_max_add()
14549 static void scalar32_min_max_sub(struct bpf_reg_state *dst_reg, in scalar32_min_max_sub()
14550 struct bpf_reg_state *src_reg) in scalar32_min_max_sub()
14574 static void scalar_min_max_sub(struct bpf_reg_state *dst_reg, in scalar_min_max_sub()
14575 struct bpf_reg_state *src_reg) in scalar_min_max_sub()
14599 static void scalar32_min_max_mul(struct bpf_reg_state *dst_reg, in scalar32_min_max_mul()
14600 struct bpf_reg_state *src_reg) in scalar32_min_max_mul()
14627 static void scalar_min_max_mul(struct bpf_reg_state *dst_reg, in scalar_min_max_mul()
14628 struct bpf_reg_state *src_reg) in scalar_min_max_mul()
14655 static void scalar32_min_max_and(struct bpf_reg_state *dst_reg, in scalar32_min_max_and()
14656 struct bpf_reg_state *src_reg) in scalar32_min_max_and()
14686 static void scalar_min_max_and(struct bpf_reg_state *dst_reg, in scalar_min_max_and()
14687 struct bpf_reg_state *src_reg) in scalar_min_max_and()
14718 static void scalar32_min_max_or(struct bpf_reg_state *dst_reg, in scalar32_min_max_or()
14719 struct bpf_reg_state *src_reg) in scalar32_min_max_or()
14749 static void scalar_min_max_or(struct bpf_reg_state *dst_reg, in scalar_min_max_or()
14750 struct bpf_reg_state *src_reg) in scalar_min_max_or()
14781 static void scalar32_min_max_xor(struct bpf_reg_state *dst_reg, in scalar32_min_max_xor()
14782 struct bpf_reg_state *src_reg) in scalar32_min_max_xor()
14809 static void scalar_min_max_xor(struct bpf_reg_state *dst_reg, in scalar_min_max_xor()
14810 struct bpf_reg_state *src_reg) in scalar_min_max_xor()
14839 static void __scalar32_min_max_lsh(struct bpf_reg_state *dst_reg, in __scalar32_min_max_lsh()
14857 static void scalar32_min_max_lsh(struct bpf_reg_state *dst_reg, in scalar32_min_max_lsh()
14858 struct bpf_reg_state *src_reg) in scalar32_min_max_lsh()
14875 static void __scalar64_min_max_lsh(struct bpf_reg_state *dst_reg, in __scalar64_min_max_lsh()
14905 static void scalar_min_max_lsh(struct bpf_reg_state *dst_reg, in scalar_min_max_lsh()
14906 struct bpf_reg_state *src_reg) in scalar_min_max_lsh()
14920 static void scalar32_min_max_rsh(struct bpf_reg_state *dst_reg, in scalar32_min_max_rsh()
14921 struct bpf_reg_state *src_reg) in scalar32_min_max_rsh()
14952 static void scalar_min_max_rsh(struct bpf_reg_state *dst_reg, in scalar_min_max_rsh()
14953 struct bpf_reg_state *src_reg) in scalar_min_max_rsh()
14986 static void scalar32_min_max_arsh(struct bpf_reg_state *dst_reg, in scalar32_min_max_arsh()
14987 struct bpf_reg_state *src_reg) in scalar32_min_max_arsh()
15009 static void scalar_min_max_arsh(struct bpf_reg_state *dst_reg, in scalar_min_max_arsh()
15010 struct bpf_reg_state *src_reg) in scalar_min_max_arsh()
15037 const struct bpf_reg_state *src_reg) in is_safe_to_compute_dst_reg_range()
15082 struct bpf_reg_state *dst_reg, in adjust_scalar_min_max_vals()
15083 struct bpf_reg_state src_reg) in adjust_scalar_min_max_vals()
15182 struct bpf_reg_state *regs = state->regs, *dst_reg, *src_reg; in adjust_reg_min_max_vals()
15183 struct bpf_reg_state *ptr_reg = NULL, off_reg = {0}; in adjust_reg_min_max_vals()
15314 struct bpf_reg_state *regs = cur_regs(env); in check_alu_op()
15395 struct bpf_reg_state *src_reg = regs + insn->src_reg; in check_alu_op()
15396 struct bpf_reg_state *dst_reg = regs + insn->dst_reg; in check_alu_op()
15552 struct bpf_reg_state *dst_reg, in find_good_pkt_pointers()
15557 struct bpf_reg_state *reg; in find_good_pkt_pointers()
15633 static int is_scalar_branch_taken(struct bpf_reg_state *reg1, struct bpf_reg_state *reg2, in is_scalar_branch_taken()
15782 static int is_pkt_ptr_branch_taken(struct bpf_reg_state *dst_reg, in is_pkt_ptr_branch_taken()
15783 struct bpf_reg_state *src_reg, in is_pkt_ptr_branch_taken()
15786 struct bpf_reg_state *pkt; in is_pkt_ptr_branch_taken()
15829 static int is_branch_taken(struct bpf_reg_state *reg1, struct bpf_reg_state *reg2, in is_branch_taken()
15897 static void regs_refine_cond_op(struct bpf_reg_state *reg1, struct bpf_reg_state *reg2, in regs_refine_cond_op()
16070 struct bpf_reg_state *true_reg1, in reg_set_min_max()
16071 struct bpf_reg_state *true_reg2, in reg_set_min_max()
16072 struct bpf_reg_state *false_reg1, in reg_set_min_max()
16073 struct bpf_reg_state *false_reg2, in reg_set_min_max()
16103 struct bpf_reg_state *reg, u32 id, in mark_ptr_or_null_reg()
16156 struct bpf_reg_state *regs = state->regs, *reg; in mark_ptr_or_null_regs()
16173 struct bpf_reg_state *dst_reg, in try_match_pkt_pointers()
16174 struct bpf_reg_state *src_reg, in try_match_pkt_pointers()
16277 static void __collect_linked_regs(struct linked_regs *reg_set, struct bpf_reg_state *reg, in __collect_linked_regs()
16303 struct bpf_reg_state *reg; in collect_linked_regs()
16325 static void sync_linked_regs(struct bpf_verifier_state *vstate, struct bpf_reg_state *known_reg, in sync_linked_regs()
16328 struct bpf_reg_state fake_reg; in sync_linked_regs()
16329 struct bpf_reg_state *reg; in sync_linked_regs()
16375 struct bpf_reg_state *regs = this_branch->frame[this_branch->curframe]->regs; in check_cond_jmp_op()
16376 struct bpf_reg_state *dst_reg, *other_branch_regs, *src_reg = NULL; in check_cond_jmp_op()
16377 struct bpf_reg_state *eq_branch_regs; in check_cond_jmp_op()
16613 struct bpf_reg_state *regs = cur_regs(env); in check_ld_imm()
16614 struct bpf_reg_state *dst_reg; in check_ld_imm()
16735 struct bpf_reg_state *regs = cur_regs(env); in check_ld_abs()
16808 struct bpf_reg_state *reg = reg_state(env, regno); in check_return_code()
18132 static bool range_within(const struct bpf_reg_state *old, in range_within()
18133 const struct bpf_reg_state *cur) in range_within()
18292 static bool regs_exact(const struct bpf_reg_state *rold, in regs_exact()
18293 const struct bpf_reg_state *rcur, in regs_exact()
18296 return memcmp(rold, rcur, offsetof(struct bpf_reg_state, id)) == 0 && in regs_exact()
18308 static bool regsafe(struct bpf_verifier_env *env, struct bpf_reg_state *rold, in regsafe()
18309 struct bpf_reg_state *rcur, struct bpf_idmap *idmap, in regsafe()
18354 return memcmp(rold, rcur, offsetof(struct bpf_reg_state, id)) == 0 && in regsafe()
18398 return memcmp(rold, rcur, offsetof(struct bpf_reg_state, var_off)) == 0 && in regsafe()
18436 static struct bpf_reg_state unbound_reg;
18461 static struct bpf_reg_state *scalar_reg_for_stack(struct bpf_verifier_env *env, in scalar_reg_for_stack()
18484 struct bpf_reg_state *old_reg, *cur_reg; in stacksafe()
18749 struct bpf_reg_state *reg, in propagate_liveness_reg()
18750 struct bpf_reg_state *parent_reg) in propagate_liveness_reg()
18785 struct bpf_reg_state *state_reg, *parent_reg; in propagate_liveness()
18831 struct bpf_reg_state *state_reg; in propagate_precision()
18897 offsetof(struct bpf_reg_state, parent))) in states_maybe_looping()
18967 struct bpf_reg_state *slot, *cur_slot; in iter_active_depths_differ()
19081 struct bpf_reg_state *iter_state, *iter_reg; in is_state_visited()
19397 struct bpf_reg_state *regs; in do_check()
22663 struct bpf_reg_state *regs; in do_check_common()
22692 struct bpf_reg_state *reg; in do_check_common()