Lines Matching defs:env
360 struct bpf_verifier_env *env = private_data; in verbose() local
371 static void verbose_invalid_scalar(struct bpf_verifier_env *env, in verbose_invalid_scalar()
425 static bool subprog_is_global(const struct bpf_verifier_env *env, int subprog) in subprog_is_global()
432 static const char *subprog_name(const struct bpf_verifier_env *env, int subprog) in subprog_name()
443 static void mark_subprog_exc_cb(struct bpf_verifier_env *env, int subprog) in mark_subprog_exc_cb()
452 static bool subprog_is_exc_cb(struct bpf_verifier_env *env, int subprog) in subprog_is_exc_cb()
547 static bool is_may_goto_insn_at(struct bpf_verifier_env *env, int insn_idx) in is_may_goto_insn_at()
594 static struct bpf_func_state *func(struct bpf_verifier_env *env, 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()
702 static void mark_dynptr_stack_regs(struct bpf_verifier_env *env, in mark_dynptr_stack_regs()
713 static void mark_dynptr_cb_reg(struct bpf_verifier_env *env, 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()
784 static void invalidate_dynptr(struct bpf_verifier_env *env, struct bpf_func_state *state, int spi) in invalidate_dynptr()
821 static int unmark_stack_slots_dynptr(struct bpf_verifier_env *env, struct bpf_reg_state *reg) in unmark_stack_slots_dynptr()
870 static void mark_reg_invalid(const struct bpf_verifier_env *env, struct bpf_reg_state *reg) in mark_reg_invalid()
878 static int destroy_if_dynptr_stack_slot(struct bpf_verifier_env *env, 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()
1019 static int mark_stack_slots_iter(struct bpf_verifier_env *env, in mark_stack_slots_iter()
1063 static int unmark_stack_slots_iter(struct bpf_verifier_env *env, in unmark_stack_slots_iter()
1094 static bool is_iter_reg_valid_uninit(struct bpf_verifier_env *env, 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()
1156 static int mark_stack_slot_irq_flag(struct bpf_verifier_env *env, 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()
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()
1345 static void mark_stack_slot_misc(struct bpf_verifier_env *env, u8 *stype) in mark_stack_slot_misc()
1463 static int grow_stack_state(struct bpf_verifier_env *env, struct bpf_func_state *state, int size) in grow_stack_state()
1492 static struct bpf_reference_state *acquire_reference_state(struct bpf_verifier_env *env, int insn_i… in acquire_reference_state()
1506 static int acquire_reference(struct bpf_verifier_env *env, int insn_idx) in acquire_reference()
1518 static int acquire_lock_state(struct bpf_verifier_env *env, int insn_idx, enum ref_state_type type, in acquire_lock_state()
1537 static int acquire_irq_state(struct bpf_verifier_env *env, int insn_idx) in acquire_irq_state()
1645 static void update_peak_states(struct bpf_verifier_env *env) in update_peak_states()
1700 static void maybe_free_verifier_state(struct bpf_verifier_env *env, in maybe_free_verifier_state()
1774 static u32 state_htab_size(struct bpf_verifier_env *env) in state_htab_size()
1779 static struct list_head *explored_state(struct bpf_verifier_env *env, int idx) in explored_state()
1919 static struct bpf_verifier_state *get_loop_entry(struct bpf_verifier_env *env, in get_loop_entry()
1936 static void update_loop_entry(struct bpf_verifier_env *env, in update_loop_entry()
1955 static void update_branch_counts(struct bpf_verifier_env *env, struct bpf_verifier_state *st) in update_branch_counts()
1988 static int pop_stack(struct bpf_verifier_env *env, int *prev_insn_idx, in pop_stack()
2017 static struct bpf_verifier_state *push_stack(struct bpf_verifier_env *env, in push_stack()
2115 static void __mark_reg_const_zero(const struct bpf_verifier_env *env, struct bpf_reg_state *reg) in __mark_reg_const_zero()
2125 static void mark_reg_known_zero(struct bpf_verifier_env *env, in mark_reg_known_zero()
2575 static int reg_bounds_sanity_check(struct bpf_verifier_env *env, in reg_bounds_sanity_check()
2669 static void __mark_reg_unknown(const struct bpf_verifier_env *env, in __mark_reg_unknown()
2676 static void mark_reg_unknown(struct bpf_verifier_env *env, in mark_reg_unknown()
2689 static int __mark_reg_s32_range(struct bpf_verifier_env *env, in __mark_reg_s32_range()
2708 static void __mark_reg_not_init(const struct bpf_verifier_env *env, in __mark_reg_not_init()
2715 static void mark_reg_not_init(struct bpf_verifier_env *env, in mark_reg_not_init()
2728 static void mark_btf_ld_reg(struct bpf_verifier_env *env, in mark_btf_ld_reg()
2747 static void init_reg_state(struct bpf_verifier_env *env, in init_reg_state()
2772 static void init_func_state(struct bpf_verifier_env *env, in init_func_state()
2785 static struct bpf_verifier_state *push_async_cb(struct bpf_verifier_env *env, in push_async_cb()
2851 static struct bpf_subprog_info *find_containing_subprog(struct bpf_verifier_env *env, int off) in find_containing_subprog()
2872 static int find_subprog(struct bpf_verifier_env *env, int off) in find_subprog()
2882 static int add_subprog(struct bpf_verifier_env *env, int off) in add_subprog()
2905 static int bpf_find_exception_callback_insn_off(struct bpf_verifier_env *env) in bpf_find_exception_callback_insn_off()
3043 static struct btf *__find_kfunc_desc_btf(struct bpf_verifier_env *env, in __find_kfunc_desc_btf()
3119 static struct btf *find_kfunc_desc_btf(struct bpf_verifier_env *env, s16 offset) in find_kfunc_desc_btf()
3135 static int add_kfunc_call(struct bpf_verifier_env *env, u32 func_id, s16 offset) in add_kfunc_call()
3309 static int add_kfunc_in_insns(struct bpf_verifier_env *env, in add_kfunc_in_insns()
3324 static int add_subprog_and_kfunc(struct bpf_verifier_env *env) in add_subprog_and_kfunc()
3396 static int check_subprogs(struct bpf_verifier_env *env) in check_subprogs()
3451 static int mark_reg_read(struct bpf_verifier_env *env, 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()
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()
3557 static bool is_reg64(struct bpf_verifier_env *env, struct bpf_insn *insn, in is_reg64()
3668 static bool insn_has_def32(struct bpf_verifier_env *env, struct bpf_insn *insn) in insn_has_def32()
3678 static void mark_insn_zext(struct bpf_verifier_env *env, 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()
3736 static int check_reg_arg(struct bpf_verifier_env *env, u32 regno, in check_reg_arg()
3760 static void mark_jmp_point(struct bpf_verifier_env *env, int idx) in mark_jmp_point()
3765 static bool is_jmp_point(struct bpf_verifier_env *env, int insn_idx) in is_jmp_point()
3849 static int push_insn_history(struct bpf_verifier_env *env, struct bpf_verifier_state *cur, in push_insn_history()
3893 static struct bpf_insn_hist_entry *get_insn_hist_entry(struct bpf_verifier_env *env, in get_insn_hist_entry()
3914 static int get_prev_insn_idx(const struct bpf_verifier_env *env, in get_prev_insn_idx()
3952 static void verbose_insn(struct bpf_verifier_env *env, struct bpf_insn *insn) in verbose_insn()
3970 struct bpf_verifier_env *env = bt->env; in bt_reset() local
4160 static int backtrack_insn(struct bpf_verifier_env *env, int idx, int subseq_idx, in backtrack_insn()
4496 static void mark_all_scalars_precise(struct bpf_verifier_env *env, in mark_all_scalars_precise()
4543 static void mark_all_scalars_imprecise(struct bpf_verifier_env *env, struct bpf_verifier_state *st) in mark_all_scalars_imprecise()
4655 static int __mark_chain_precision(struct bpf_verifier_env *env, int regno) in __mark_chain_precision()
4835 int mark_chain_precision(struct bpf_verifier_env *env, int regno) in mark_chain_precision()
4843 static int mark_chain_precision_batch(struct bpf_verifier_env *env) in mark_chain_precision_batch()
4903 static void assign_scalar_id_before_mov(struct bpf_verifier_env *env, in assign_scalar_id_before_mov()
4938 static void save_register_state(struct bpf_verifier_env *env, in save_register_state()
4968 static void check_fastcall_stack_contract(struct bpf_verifier_env *env, in check_fastcall_stack_contract()
4995 static int check_stack_write_fixed_off(struct bpf_verifier_env *env, in check_stack_write_fixed_off()
5140 static int check_stack_write_var_off(struct bpf_verifier_env *env, in check_stack_write_var_off()
5258 static void mark_reg_stack_read(struct bpf_verifier_env *env, in mark_reg_stack_read()
5299 static int check_stack_read_fixed_off(struct bpf_verifier_env *env, in check_stack_read_fixed_off()
5439 static struct bpf_reg_state *reg_state(struct bpf_verifier_env *env, int regno) in reg_state()
5457 static int check_stack_read_var_off(struct bpf_verifier_env *env, in check_stack_read_var_off()
5489 static int check_stack_read(struct bpf_verifier_env *env, in check_stack_read()
5546 static int check_stack_write(struct bpf_verifier_env *env, in check_stack_write()
5569 static int check_map_access_type(struct bpf_verifier_env *env, u32 regno, in check_map_access_type()
5592 static int __check_mem_access(struct bpf_verifier_env *env, int regno, in __check_mem_access()
5628 static int check_mem_region_access(struct bpf_verifier_env *env, u32 regno, in check_mem_region_access()
5683 static int __check_ptr_off_reg(struct bpf_verifier_env *env, in __check_ptr_off_reg()
5715 static int check_ptr_off_reg(struct bpf_verifier_env *env, in check_ptr_off_reg()
5721 static int map_kptr_match_type(struct bpf_verifier_env *env, in map_kptr_match_type()
5797 static bool in_sleepable(struct bpf_verifier_env *env) in in_sleepable()
5806 static bool in_rcu_cs(struct bpf_verifier_env *env) in in_rcu_cs()
5858 static u32 btf_ld_kptr_type(struct bpf_verifier_env *env, struct btf_field *kptr_field) in btf_ld_kptr_type()
5881 static int mark_uptr_ld_reg(struct bpf_verifier_env *env, u32 regno, in mark_uptr_ld_reg()
5897 static int check_map_kptr_access(struct bpf_verifier_env *env, u32 regno, in check_map_kptr_access()
5958 static int check_map_access(struct bpf_verifier_env *env, u32 regno, in check_map_access()
6026 static bool may_access_direct_pkt_data(struct bpf_verifier_env *env, in may_access_direct_pkt_data()
6068 static int check_packet_access(struct bpf_verifier_env *env, u32 regno, int off, in check_packet_access()
6111 static int check_ctx_access(struct bpf_verifier_env *env, int insn_idx, int off, int size, in check_ctx_access()
6143 static int check_flow_keys_access(struct bpf_verifier_env *env, int off, in check_flow_keys_access()
6155 static int check_sock_access(struct bpf_verifier_env *env, int insn_idx, in check_sock_access()
6200 static bool is_pointer_value(struct bpf_verifier_env *env, int regno) in is_pointer_value()
6205 static bool is_ctx_reg(struct bpf_verifier_env *env, int regno) in is_ctx_reg()
6212 static bool is_sk_reg(struct bpf_verifier_env *env, int regno) in is_sk_reg()
6219 static bool is_pkt_reg(struct bpf_verifier_env *env, int regno) in is_pkt_reg()
6226 static bool is_flow_key_reg(struct bpf_verifier_env *env, int regno) in is_flow_key_reg()
6234 static bool is_arena_reg(struct bpf_verifier_env *env, int regno) in is_arena_reg()
6244 static bool atomic_ptr_type_ok(struct bpf_verifier_env *env, int regno, in atomic_ptr_type_ok()
6304 static int check_pkt_ptr_alignment(struct bpf_verifier_env *env, in check_pkt_ptr_alignment()
6339 static int check_generic_ptr_alignment(struct bpf_verifier_env *env, in check_generic_ptr_alignment()
6363 static int check_ptr_alignment(struct bpf_verifier_env *env, in check_ptr_alignment()
6446 static int round_up_stack_depth(struct bpf_verifier_env *env, int stack_depth) in round_up_stack_depth()
6463 static int check_max_stack_depth_subprog(struct bpf_verifier_env *env, int idx, in check_max_stack_depth_subprog()
6627 static int check_max_stack_depth(struct bpf_verifier_env *env) in check_max_stack_depth()
6672 static int get_callee_stack_depth(struct bpf_verifier_env *env, in get_callee_stack_depth()
6687 static int __check_buffer_access(struct bpf_verifier_env *env, in __check_buffer_access()
6711 static int check_tp_buffer_access(struct bpf_verifier_env *env, in check_tp_buffer_access()
6727 static int check_buffer_access(struct bpf_verifier_env *env, in check_buffer_access()
7050 static bool type_is_rcu(struct bpf_verifier_env *env, in type_is_rcu()
7061 static bool type_is_rcu_or_null(struct bpf_verifier_env *env, in type_is_rcu_or_null()
7072 static bool type_is_trusted(struct bpf_verifier_env *env, in type_is_trusted()
7085 static bool type_is_trusted_or_null(struct bpf_verifier_env *env, in type_is_trusted_or_null()
7095 static int check_ptr_to_btf_access(struct bpf_verifier_env *env, in check_ptr_to_btf_access()
7245 static int check_ptr_to_map_access(struct bpf_verifier_env *env, in check_ptr_to_map_access()
7311 static int check_stack_slot_within_bounds(struct bpf_verifier_env *env, in check_stack_slot_within_bounds()
7334 struct bpf_verifier_env *env, in check_stack_access_within_bounds()
7410 static int check_mem_access(struct bpf_verifier_env *env, int insn_idx, u32 regno, in check_mem_access()
7662 static int check_load_mem(struct bpf_verifier_env *env, struct bpf_insn *insn, in check_load_mem()
7695 static int check_store_reg(struct bpf_verifier_env *env, struct bpf_insn *insn, in check_store_reg()
7723 static int check_atomic_rmw(struct bpf_verifier_env *env, in check_atomic_rmw()
7812 static int check_atomic_load(struct bpf_verifier_env *env, in check_atomic_load()
7831 static int check_atomic_store(struct bpf_verifier_env *env, in check_atomic_store()
7850 static int check_atomic(struct bpf_verifier_env *env, struct bpf_insn *insn) in check_atomic()
7896 struct bpf_verifier_env *env, int regno, int off, in check_stack_range_initialized()
8041 static int check_helper_mem_access(struct bpf_verifier_env *env, int regno, in check_helper_mem_access()
8138 static int check_mem_size_reg(struct bpf_verifier_env *env, 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()
8216 static int check_kfunc_mem_size_reg(struct bpf_verifier_env *env, struct bpf_reg_state *reg, in check_kfunc_mem_size_reg()
8271 static int process_spin_lock(struct bpf_verifier_env *env, int regno, int flags) in process_spin_lock()
8387 static int process_timer_func(struct bpf_verifier_env *env, int regno, in process_timer_func()
8424 static int process_wq_func(struct bpf_verifier_env *env, int regno, in process_wq_func()
8441 static int process_kptr_func(struct bpf_verifier_env *env, int regno, in process_kptr_func()
8514 static int process_dynptr_func(struct bpf_verifier_env *env, int regno, int insn_idx, 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()
8634 static int process_iter_arg(struct bpf_verifier_env *env, int regno, int insn_idx, in process_iter_arg()
8723 static struct bpf_verifier_state *find_prev_entry(struct bpf_verifier_env *env, in find_prev_entry()
8752 static void maybe_widen_reg(struct bpf_verifier_env *env, in maybe_widen_reg()
8765 static int widen_imprecise_scalars(struct bpf_verifier_env *env, in widen_imprecise_scalars()
8884 static int process_iter_next_call(struct bpf_verifier_env *env, int insn_idx, in process_iter_next_call()
8961 static int resolve_map_arg_type(struct bpf_verifier_env *env, in resolve_map_arg_type()
9102 static int check_reg_type(struct bpf_verifier_env *env, u32 regno, in check_reg_type()
9266 static int check_func_arg_reg_off(struct bpf_verifier_env *env, 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()
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()
9385 static enum bpf_dynptr_type dynptr_get_type(struct bpf_verifier_env *env, in dynptr_get_type()
9403 static int check_reg_const_str(struct bpf_verifier_env *env, in check_reg_const_str()
9452 static int get_constant_map_key(struct bpf_verifier_env *env, in get_constant_map_key()
9514 static int check_func_arg(struct bpf_verifier_env *env, u32 arg, in check_func_arg()
9784 static bool may_update_sockmap(struct bpf_verifier_env *env, int func_id) in may_update_sockmap()
9822 static bool allow_tail_call_in_subprogs(struct bpf_verifier_env *env) in allow_tail_call_in_subprogs()
9828 static int check_map_func_compatibility(struct bpf_verifier_env *env, in check_map_func_compatibility()
10166 static void clear_all_pkt_pointers(struct bpf_verifier_env *env) in clear_all_pkt_pointers()
10223 static int release_reference(struct bpf_verifier_env *env, int ref_obj_id) in release_reference()
10242 static void invalidate_non_owning_refs(struct bpf_verifier_env *env) in invalidate_non_owning_refs()
10253 static void clear_caller_saved_regs(struct bpf_verifier_env *env, in clear_caller_saved_regs()
10274 static int setup_func_entry(struct bpf_verifier_env *env, int subprog, int callsite, in setup_func_entry()
10323 static int btf_check_func_arg_match(struct bpf_verifier_env *env, int subprog, in btf_check_func_arg_match()
10419 static int btf_check_subprog_call(struct bpf_verifier_env *env, int subprog, in btf_check_subprog_call()
10447 static int push_callback_call(struct bpf_verifier_env *env, struct bpf_insn *insn, in push_callback_call()
10516 static int check_func_call(struct bpf_verifier_env *env, struct bpf_insn *insn, in check_func_call()
10596 int map_set_for_each_callback_args(struct bpf_verifier_env *env, in map_set_for_each_callback_args()
10623 static int set_callee_state(struct bpf_verifier_env *env, in set_callee_state()
10637 static int set_map_elem_callback_state(struct bpf_verifier_env *env, in set_map_elem_callback_state()
10663 static int set_loop_callback_state(struct bpf_verifier_env *env, in set_loop_callback_state()
10685 static int set_timer_callback_state(struct bpf_verifier_env *env, in set_timer_callback_state()
10715 static int set_find_vma_callback_state(struct bpf_verifier_env *env, in set_find_vma_callback_state()
10743 static int set_user_ringbuf_callback_state(struct bpf_verifier_env *env, in set_user_ringbuf_callback_state()
10766 static int set_rbtree_add_callback_state(struct bpf_verifier_env *env, in set_rbtree_add_callback_state()
10804 static bool in_rbtree_lock_required_cb(struct bpf_verifier_env *env) in in_rbtree_lock_required_cb()
10832 static int prepare_func_exit(struct bpf_verifier_env *env, int *insn_idx) in prepare_func_exit()
10923 static int do_refine_retval_range(struct bpf_verifier_env *env, in do_refine_retval_range()
10962 record_func_map(struct bpf_verifier_env *env, struct bpf_call_arg_meta *meta, in record_func_map()
11008 record_func_key(struct bpf_verifier_env *env, struct bpf_call_arg_meta *meta, in record_func_key()
11044 static int check_reference_leak(struct bpf_verifier_env *env, bool exception_exit) in check_reference_leak()
11071 static int check_resource_leak(struct bpf_verifier_env *env, bool exception_exit, bool check_lock, … in check_resource_leak()
11104 static int check_bpf_snprintf_call(struct bpf_verifier_env *env, in check_bpf_snprintf_call()
11142 static int check_get_func_ip(struct bpf_verifier_env *env) in check_get_func_ip()
11163 static struct bpf_insn_aux_data *cur_aux(struct bpf_verifier_env *env) in cur_aux()
11168 static bool loop_flag_is_zero(struct bpf_verifier_env *env) in loop_flag_is_zero()
11180 static void update_loop_inline_state(struct bpf_verifier_env *env, u32 subprogno) in update_loop_inline_state()
11213 static int get_helper_proto(struct bpf_verifier_env *env, int func_id, in get_helper_proto()
11226 static int check_helper_call(struct bpf_verifier_env *env, struct bpf_insn *insn, 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()
11783 static void mark_btf_func_reg_size(struct bpf_verifier_env *env, u32 regno, in mark_btf_func_reg_size()
11990 static bool is_kfunc_arg_callback(struct bpf_verifier_env *env, const struct btf *btf, in is_kfunc_arg_callback()
12003 static bool __btf_type_is_scalar_struct(struct bpf_verifier_env *env, in __btf_type_is_scalar_struct()
12229 get_kfunc_ptr_arg_type(struct bpf_verifier_env *env, in get_kfunc_ptr_arg_type()
12324 static int process_kf_arg_ptr_to_btf_id(struct bpf_verifier_env *env, in process_kf_arg_ptr_to_btf_id()
12396 static int process_irq_flag(struct bpf_verifier_env *env, int 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()
12471 static int ref_convert_owning_non_owning(struct bpf_verifier_env *env, u32 ref_obj_id) 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()
12651 static bool check_kfunc_is_graph_root_api(struct bpf_verifier_env *env, in check_kfunc_is_graph_root_api()
12676 static bool check_kfunc_is_graph_node_api(struct bpf_verifier_env *env, in check_kfunc_is_graph_node_api()
12704 __process_kf_arg_ptr_to_graph_root(struct bpf_verifier_env *env, in __process_kf_arg_ptr_to_graph_root()
12754 static int process_kf_arg_ptr_to_list_head(struct bpf_verifier_env *env, in process_kf_arg_ptr_to_list_head()
12762 static int process_kf_arg_ptr_to_rbtree_root(struct bpf_verifier_env *env, in process_kf_arg_ptr_to_rbtree_root()
12771 __process_kf_arg_ptr_to_graph_node(struct bpf_verifier_env *env, in __process_kf_arg_ptr_to_graph_node()
12835 static int process_kf_arg_ptr_to_list_node(struct bpf_verifier_env *env, in process_kf_arg_ptr_to_list_node()
12844 static int process_kf_arg_ptr_to_rbtree_node(struct bpf_verifier_env *env, in process_kf_arg_ptr_to_rbtree_node()
12859 static bool check_css_task_iter_allowlist(struct bpf_verifier_env *env) in check_css_task_iter_allowlist()
12875 static int check_kfunc_args(struct bpf_verifier_env *env, struct bpf_kfunc_call_arg_meta *meta, in check_kfunc_args()
13381 static int fetch_kfunc_meta(struct bpf_verifier_env *env, in fetch_kfunc_meta()
13425 static int check_kfunc_call(struct bpf_verifier_env *env, struct bpf_insn *insn, in check_kfunc_call()
13923 static bool check_reg_sane_offset(struct bpf_verifier_env *env, in check_reg_sane_offset()
13997 static bool can_skip_alu_sanitation(const struct bpf_verifier_env *env, in can_skip_alu_sanitation()
14020 static int sanitize_val_alu(struct bpf_verifier_env *env, in sanitize_val_alu()
14042 sanitize_speculative_path(struct bpf_verifier_env *env, in sanitize_speculative_path()
14062 static int sanitize_ptr_alu(struct bpf_verifier_env *env, in sanitize_ptr_alu()
14158 static void sanitize_mark_insn_seen(struct bpf_verifier_env *env) in sanitize_mark_insn_seen()
14171 static int sanitize_err(struct bpf_verifier_env *env, in sanitize_err()
14221 struct bpf_verifier_env *env, in check_stack_access_for_ptr_arithmetic()
14244 static int sanitize_check_bounds(struct bpf_verifier_env *env, in sanitize_check_bounds()
14281 static int adjust_ptr_min_max_vals(struct bpf_verifier_env *env, in adjust_ptr_min_max_vals()
15080 static int adjust_scalar_min_max_vals(struct bpf_verifier_env *env, in adjust_scalar_min_max_vals()
15177 static int adjust_reg_min_max_vals(struct bpf_verifier_env *env, in adjust_reg_min_max_vals()
15312 static int check_alu_op(struct bpf_verifier_env *env, struct bpf_insn *insn) in check_alu_op()
16069 static int reg_set_min_max(struct bpf_verifier_env *env, in reg_set_min_max()
16370 static int check_cond_jmp_op(struct bpf_verifier_env *env, in check_cond_jmp_op()
16610 static int check_ld_imm(struct bpf_verifier_env *env, struct bpf_insn *insn) in check_ld_imm()
16733 static int check_ld_abs(struct bpf_verifier_env *env, struct bpf_insn *insn) in check_ld_abs()
16803 static int check_return_code(struct bpf_verifier_env *env, int regno, const char *reg_name) in check_return_code()
17003 static void mark_subprog_changes_pkt_data(struct bpf_verifier_env *env, int off) in mark_subprog_changes_pkt_data()
17011 static void mark_subprog_might_sleep(struct bpf_verifier_env *env, int off) in mark_subprog_might_sleep()
17025 static void merge_callee_effects(struct bpf_verifier_env *env, int t, int w) in merge_callee_effects()
17075 static void mark_prune_point(struct bpf_verifier_env *env, int idx) in mark_prune_point()
17080 static bool is_prune_point(struct bpf_verifier_env *env, int insn_idx) in is_prune_point()
17085 static void mark_force_checkpoint(struct bpf_verifier_env *env, int idx) in mark_force_checkpoint()
17090 static bool is_force_checkpoint(struct bpf_verifier_env *env, int insn_idx) in is_force_checkpoint()
17095 static void mark_calls_callback(struct bpf_verifier_env *env, int idx) in mark_calls_callback()
17100 static bool calls_callback(struct bpf_verifier_env *env, int insn_idx) in calls_callback()
17115 static int push_insn(int t, int w, int e, struct bpf_verifier_env *env) in push_insn()
17164 struct bpf_verifier_env *env, in visit_func_call_insn()
17195 static bool verifier_inlines_helper_call(struct bpf_verifier_env *env, s32 imm) in verifier_inlines_helper_call()
17216 static bool get_call_summary(struct bpf_verifier_env *env, struct bpf_insn *call, in get_call_summary()
17331 static void mark_fastcall_pattern_for_call(struct bpf_verifier_env *env, in mark_fastcall_pattern_for_call()
17418 static int mark_fastcall_patterns(struct bpf_verifier_env *env) in mark_fastcall_patterns()
17451 static int visit_insn(int t, struct bpf_verifier_env *env) in visit_insn()
17571 static int check_cfg(struct bpf_verifier_env *env) in check_cfg()
17665 static int check_abnormal_return(struct bpf_verifier_env *env) in check_abnormal_return()
17686 static int check_btf_func_early(struct bpf_verifier_env *env, in check_btf_func_early()
17788 static int check_btf_func(struct bpf_verifier_env *env, in check_btf_func()
17863 static void adjust_btf_func(struct bpf_verifier_env *env) in adjust_btf_func()
17879 static int check_btf_line(struct bpf_verifier_env *env, in check_btf_line()
18007 static int check_core_relo(struct bpf_verifier_env *env, in check_core_relo()
18076 static int check_btf_info_early(struct bpf_verifier_env *env, in check_btf_info_early()
18104 static int check_btf_info(struct bpf_verifier_env *env, in check_btf_info()
18196 static void clean_func_state(struct bpf_verifier_env *env, in clean_func_state()
18225 static void clean_verifier_state(struct bpf_verifier_env *env, in clean_verifier_state()
18270 static void clean_live_states(struct bpf_verifier_env *env, int insn, in clean_live_states()
18308 static bool regsafe(struct bpf_verifier_env *env, struct bpf_reg_state *rold, in regsafe()
18446 static bool is_stack_all_misc(struct bpf_verifier_env *env, in is_stack_all_misc()
18461 static struct bpf_reg_state *scalar_reg_for_stack(struct bpf_verifier_env *env, in scalar_reg_for_stack()
18473 static bool stacksafe(struct bpf_verifier_env *env, struct bpf_func_state *old, in stacksafe()
18678 static bool func_states_equal(struct bpf_verifier_env *env, struct bpf_func_state *old, in func_states_equal()
18699 static void reset_idmap_scratch(struct bpf_verifier_env *env) in reset_idmap_scratch()
18705 static bool states_equal(struct bpf_verifier_env *env, in states_equal()
18748 static int propagate_liveness_reg(struct bpf_verifier_env *env, in propagate_liveness_reg()
18781 static int propagate_liveness(struct bpf_verifier_env *env, in propagate_liveness()
18828 static int propagate_precision(struct bpf_verifier_env *env, in propagate_precision()
18902 static bool is_iter_next_insn(struct bpf_verifier_env *env, int insn_idx) in is_iter_next_insn()
18989 static int is_state_visited(struct bpf_verifier_env *env, int insn_idx) in is_state_visited()
19354 static int save_aux_ptr_type(struct bpf_verifier_env *env, enum bpf_reg_type type, in save_aux_ptr_type()
19392 static int do_check(struct bpf_verifier_env *env) in do_check()
19740 static int __add_used_btf(struct bpf_verifier_env *env, struct btf *btf) in __add_used_btf()
19772 static int __check_pseudo_btf_id(struct bpf_verifier_env *env, in __check_pseudo_btf_id()
19855 static int check_pseudo_btf_id(struct bpf_verifier_env *env, in check_pseudo_btf_id()
19910 static int check_map_prog_compatibility(struct bpf_verifier_env *env, in check_map_prog_compatibility()
20021 static int __add_used_map(struct bpf_verifier_env *env, struct bpf_map *map) in __add_used_map()
20059 static int add_used_map(struct bpf_verifier_env *env, int fd) in add_used_map()
20080 static int resolve_pseudo_ldimm64(struct bpf_verifier_env *env) in resolve_pseudo_ldimm64()
20223 static void release_maps(struct bpf_verifier_env *env) in release_maps()
20230 static void release_btfs(struct bpf_verifier_env *env) in release_btfs()
20236 static void convert_pseudo_ld_imm64(struct bpf_verifier_env *env) in convert_pseudo_ld_imm64()
20255 static void adjust_insn_aux_data(struct bpf_verifier_env *env, in adjust_insn_aux_data()
20287 static void adjust_subprog_starts(struct bpf_verifier_env *env, u32 off, u32 len) in adjust_subprog_starts()
20315 static struct bpf_prog *bpf_patch_insn_data(struct bpf_verifier_env *env, u32 off, in bpf_patch_insn_data()
20381 static int adjust_subprog_starts_after_remove(struct bpf_verifier_env *env, in adjust_subprog_starts_after_remove()
20437 static int bpf_adj_linfo_after_remove(struct bpf_verifier_env *env, u32 off, in bpf_adj_linfo_after_remove()
20501 static int verifier_remove_insns(struct bpf_verifier_env *env, u32 off, u32 cnt) in verifier_remove_insns()
20539 static void sanitize_dead_code(struct bpf_verifier_env *env) in sanitize_dead_code()
20569 static void opt_hard_wire_dead_code_branches(struct bpf_verifier_env *env) in opt_hard_wire_dead_code_branches()
20595 static int opt_remove_dead_code(struct bpf_verifier_env *env) in opt_remove_dead_code()
20622 static int opt_remove_nops(struct bpf_verifier_env *env) in opt_remove_nops()
20647 static int opt_subreg_zext_lo32_rnd_hi32(struct bpf_verifier_env *env, in opt_subreg_zext_lo32_rnd_hi32()
20751 static int convert_ctx_accesses(struct bpf_verifier_env *env) in convert_ctx_accesses()
21022 static int jit_subprogs(struct bpf_verifier_env *env) in jit_subprogs()
21287 static int fixup_call_args(struct bpf_verifier_env *env) in fixup_call_args()
21339 static void specialize_kfunc(struct bpf_verifier_env *env, in specialize_kfunc()
21398 static int fixup_kfunc_call(struct bpf_verifier_env *env, struct bpf_insn *insn, in fixup_kfunc_call()
21502 static int add_hidden_subprog(struct bpf_verifier_env *env, struct bpf_insn *patch, int len) in add_hidden_subprog()
21531 static int do_misc_fixups(struct bpf_verifier_env *env) in do_misc_fixups()
22458 static struct bpf_prog *inline_bpf_loop(struct bpf_verifier_env *env, in inline_bpf_loop()
22550 static int optimize_bpf_loop(struct bpf_verifier_env *env) in optimize_bpf_loop()
22598 static int remove_fastcall_spills_fills(struct bpf_verifier_env *env) in remove_fastcall_spills_fills()
22629 static void free_states(struct bpf_verifier_env *env) in free_states()
22657 static int do_check_common(struct bpf_verifier_env *env, int subprog) in do_check_common()
22812 static int do_check_subprogs(struct bpf_verifier_env *env) in do_check_subprogs()
22862 static int do_check_main(struct bpf_verifier_env *env) in do_check_main()
22874 static void print_verification_stats(struct bpf_verifier_env *env) in print_verification_stats()
22907 static int check_struct_ops_btf_id(struct bpf_verifier_env *env) in check_struct_ops_btf_id()
23443 static int check_attach_btf_id(struct bpf_verifier_env *env) in check_attach_btf_id()
23546 static int add_fd_from_fd_array(struct bpf_verifier_env *env, int fd) in add_fd_from_fd_array()
23573 static int process_fd_array(struct bpf_verifier_env *env, union bpf_attr *attr, bpfptr_t uattr) in process_fd_array()
23680 static void compute_insn_live_regs(struct bpf_verifier_env *env, in compute_insn_live_regs()
23817 static int compute_live_registers(struct bpf_verifier_env *env) in compute_live_registers()
23907 struct bpf_verifier_env *env; in bpf_check() local