| H A D | verifier.c | 269 typedef struct argno { struct 270 int argno; argument 275 return (argno_t){ .argno = regno }; in argno_from_reg() 280 return (argno_t){ .argno = -arg }; in argno_from_arg() 285 if (a.argno >= 0) in reg_from_argno() 286 return a.argno; in reg_from_argno() 287 if (a.argno >= -MAX_BPF_FUNC_REG_ARGS) in reg_from_argno() 288 return -a.argno; in reg_from_argno() 294 if (a.argno < 0) in arg_from_argno() 295 return -a.argno; in arg_from_argno() 1818 reg_arg_name(struct bpf_verifier_env * env,argno_t argno) reg_arg_name() argument 4254 mark_arg_precision(struct bpf_verifier_env * env,argno_t argno) mark_arg_precision() argument 4319 __check_mem_access(struct bpf_verifier_env * env,struct bpf_reg_state * reg,argno_t argno,int off,int size,u32 mem_size,bool zero_size_allowed) __check_mem_access() argument 4357 check_mem_region_access(struct bpf_verifier_env * env,struct bpf_reg_state * reg,argno_t argno,int off,int size,u32 mem_size,bool zero_size_allowed) check_mem_region_access() argument 4446 __check_ptr_off_reg(struct bpf_verifier_env * env,const struct bpf_reg_state * reg,argno_t argno,bool fixed_off_ok) __check_ptr_off_reg() argument 4761 check_map_access(struct bpf_verifier_env * env,struct bpf_reg_state * reg,argno_t argno,int off,int size,bool zero_size_allowed,enum bpf_access_src src) check_map_access() argument 4866 check_packet_access(struct bpf_verifier_env * env,struct bpf_reg_state * reg,argno_t argno,int off,int size,bool zero_size_allowed) check_packet_access() argument 4931 check_ctx_access(struct bpf_verifier_env * env,int insn_idx,struct bpf_reg_state * reg,argno_t argno,int off,int access_size,enum bpf_access_type t,struct bpf_insn_access_aux * info) check_ctx_access() argument 4958 check_flow_keys_access(struct bpf_verifier_env * env,struct bpf_reg_state * reg,argno_t argno,int off,int size) check_flow_keys_access() argument 4982 check_sock_access(struct bpf_verifier_env * env,int insn_idx,struct bpf_reg_state * reg,argno_t argno,int off,int size,enum bpf_access_type t) check_sock_access() argument 5581 __check_buffer_access(struct bpf_verifier_env * env,const char * buf_info,const struct bpf_reg_state * reg,argno_t argno,int off,int size,u32 * access_end) __check_buffer_access() argument 5610 check_tp_buffer_access(struct bpf_verifier_env * env,const struct bpf_reg_state * reg,argno_t argno,int off,int size) check_tp_buffer_access() argument 5626 check_buffer_access(struct bpf_verifier_env * env,const struct bpf_reg_state * reg,argno_t argno,int off,int size,bool zero_size_allowed,u32 * max_access) check_buffer_access() argument 5988 check_ptr_to_btf_access(struct bpf_verifier_env * env,struct bpf_reg_state * regs,struct bpf_reg_state * reg,argno_t argno,int off,int size,enum bpf_access_type atype,int value_regno) check_ptr_to_btf_access() argument 6158 check_ptr_to_map_access(struct bpf_verifier_env * env,struct bpf_reg_state * regs,struct bpf_reg_state * reg,argno_t argno,int off,int size,enum bpf_access_type atype,int value_regno) check_ptr_to_map_access() argument 6251 check_stack_access_within_bounds(struct bpf_verifier_env * env,struct bpf_reg_state * reg,argno_t argno,int off,int access_size,enum bpf_access_type type) check_stack_access_within_bounds() argument 6386 check_mem_access(struct bpf_verifier_env * env,int insn_idx,struct bpf_reg_state * reg,argno_t argno,int off,int bpf_size,enum bpf_access_type t,int value_regno,bool strict_alignment_once,bool is_ldsx) check_mem_access() argument 6896 check_stack_range_initialized(struct bpf_verifier_env * env,struct bpf_reg_state * reg,argno_t argno,int off,int access_size,bool zero_size_allowed,enum bpf_access_type type,struct bpf_call_arg_meta * meta) check_stack_range_initialized() argument 7016 check_helper_mem_access(struct bpf_verifier_env * env,struct bpf_reg_state * reg,argno_t argno,int access_size,enum bpf_access_type access_type,bool zero_size_allowed,struct bpf_call_arg_meta * meta,bool * known_memory) check_helper_mem_access() argument 7189 check_mem_reg(struct bpf_verifier_env * env,struct bpf_reg_state * reg,argno_t argno,u32 mem_size,enum bpf_access_type access_type,struct bpf_call_arg_meta * meta,bool * known_memory) check_mem_reg() argument 7222 process_const_alloc_mem_size(struct bpf_verifier_env * env,struct bpf_reg_state * reg,argno_t argno,struct ret_mem_desc * ret_mem) process_const_alloc_mem_size() argument 7256 process_const_arg(struct bpf_verifier_env * env,struct bpf_reg_state * reg,argno_t argno,struct bpf_call_arg_meta * meta) process_const_arg() argument 7312 process_spin_lock(struct bpf_verifier_env * env,struct bpf_reg_state * reg,argno_t argno,int flags) process_spin_lock() argument 7469 check_map_field_pointer(struct bpf_verifier_env * env,struct bpf_reg_state * reg,argno_t argno,enum btf_field_type field_type,struct bpf_map_desc * map_desc) check_map_field_pointer() argument 7522 process_timer_func(struct bpf_verifier_env * env,struct bpf_reg_state * reg,argno_t argno,struct bpf_map_desc * map) process_timer_func() argument 7610 process_dynptr_func(struct bpf_verifier_env * env,struct bpf_reg_state * reg,argno_t argno,int insn_idx,const char * call_name,enum bpf_arg_type arg_type,struct ref_obj_desc * ref_obj,struct bpf_dynptr_desc * dynptr) process_dynptr_func() argument 7748 process_iter_arg(struct bpf_verifier_env * env,struct bpf_reg_state * reg,argno_t argno,int insn_idx,struct bpf_call_arg_meta * meta) process_iter_arg() argument 8249 bpf_diag_call_arg(struct bpf_verifier_env * env,u32 insn_idx,argno_t argno,const char * call_name,const char * reason,const char * suggestion) bpf_diag_call_arg() argument 8267 bpf_diag_arg_name(struct bpf_verifier_env * env,argno_t argno) bpf_diag_arg_name() argument 8273 bpf_diag_call_arg_fmt(struct bpf_verifier_env * env,u32 insn_idx,argno_t argno,const char * call_name,const char * suggestion,const char * fmt,...) bpf_diag_call_arg_fmt() argument 8306 check_reg_type(struct bpf_verifier_env * env,struct bpf_reg_state * reg,argno_t argno,enum bpf_arg_type arg_type,const u32 * arg_btf_id,struct bpf_call_arg_meta * meta,const char * call_name) check_reg_type() argument 8491 __check_func_arg_reg_off(struct bpf_verifier_env * env,const struct bpf_reg_state * reg,argno_t argno,enum bpf_arg_type arg_type,bool btf_id_fixed_off_ok) __check_func_arg_reg_off() argument 8571 check_func_arg_reg_off(struct bpf_verifier_env * env,const struct bpf_reg_state * reg,argno_t argno,enum bpf_arg_type arg_type) check_func_arg_reg_off() argument 8578 check_arg_const_str(struct bpf_verifier_env * env,struct bpf_reg_state * reg,argno_t argno) check_arg_const_str() argument 8701 process_map_ptr_arg(struct bpf_verifier_env * env,struct bpf_reg_state * reg,argno_t argno,struct bpf_call_arg_meta * meta) process_map_ptr_arg() argument 8746 argno_t argno = argno_from_reg(regno); check_func_arg() local 9719 argno_t argno = argno_from_arg(i + 1); btf_check_func_arg_match() local 11958 argno_t argno = argno_from_arg(arg + 1); get_kfunc_arg_type() local 12130 process_kf_arg_ptr_to_btf_id(struct bpf_verifier_env * env,struct bpf_reg_state * reg,const struct btf_type * ref_t,const char * ref_tname,u32 ref_id,struct bpf_call_arg_meta * meta,int arg,argno_t argno) process_kf_arg_ptr_to_btf_id() argument 12198 process_irq_flag(struct bpf_verifier_env * env,struct bpf_reg_state * reg,argno_t argno,struct bpf_call_arg_meta * meta) process_irq_flag() argument 12516 __process_kf_arg_ptr_to_graph_root(struct bpf_verifier_env * env,struct bpf_reg_state * reg,argno_t argno,struct bpf_call_arg_meta * meta,enum btf_field_type head_field_type,struct btf_field ** head_field) __process_kf_arg_ptr_to_graph_root() argument 12566 process_kf_arg_ptr_to_list_head(struct bpf_verifier_env * env,struct bpf_reg_state * reg,argno_t argno,struct bpf_call_arg_meta * meta) process_kf_arg_ptr_to_list_head() argument 12574 process_kf_arg_ptr_to_rbtree_root(struct bpf_verifier_env * env,struct bpf_reg_state * reg,argno_t argno,struct bpf_call_arg_meta * meta) process_kf_arg_ptr_to_rbtree_root() argument 12583 __process_kf_arg_ptr_to_graph_node(struct bpf_verifier_env * env,struct bpf_reg_state * reg,argno_t argno,struct bpf_call_arg_meta * meta,enum btf_field_type head_field_type,enum btf_field_type node_field_type,struct btf_field ** node_field) __process_kf_arg_ptr_to_graph_node() argument 12648 process_kf_arg_ptr_to_list_node(struct bpf_verifier_env * env,struct bpf_reg_state * reg,argno_t argno,struct bpf_call_arg_meta * meta) process_kf_arg_ptr_to_list_node() argument 12657 process_kf_arg_ptr_to_rbtree_node(struct bpf_verifier_env * env,struct bpf_reg_state * reg,argno_t argno,struct bpf_call_arg_meta * meta) process_kf_arg_ptr_to_rbtree_node() argument 12713 argno_t argno = argno_from_arg(i + 1); check_kfunc_args() local [all...] |