Lines Matching refs:regno

257 	int regno;  member
709 static void mark_reg_scratched(struct bpf_verifier_env *env, u32 regno) in mark_reg_scratched() argument
711 env->scratched_regs |= 1U << regno; in mark_reg_scratched()
719 static bool reg_scratched(const struct bpf_verifier_env *env, u32 regno) in reg_scratched() argument
721 return (env->scratched_regs >> regno) & 1; in reg_scratched()
724 static bool stack_slot_scratched(const struct bpf_verifier_env *env, u64 regno) in stack_slot_scratched() argument
726 return (env->scratched_stack_slots >> regno) & 1; in stack_slot_scratched()
1592 struct bpf_reg_state *regs, u32 regno) in mark_reg_known_zero() argument
1594 if (WARN_ON(regno >= MAX_BPF_REG)) { in mark_reg_known_zero()
1595 verbose(env, "mark_reg_known_zero(regs, %u)\n", regno); in mark_reg_known_zero()
1597 for (regno = 0; regno < MAX_BPF_REG; regno++) in mark_reg_known_zero()
1598 __mark_reg_not_init(env, regs + regno); in mark_reg_known_zero()
1601 __mark_reg_known_zero(regs + regno); in mark_reg_known_zero()
1646 static void mark_reg_graph_node(struct bpf_reg_state *regs, u32 regno, in mark_reg_graph_node() argument
1649 __mark_reg_known_zero(&regs[regno]); in mark_reg_graph_node()
1650 regs[regno].type = PTR_TO_BTF_ID | MEM_ALLOC; in mark_reg_graph_node()
1651 regs[regno].btf = ds_head->btf; in mark_reg_graph_node()
1652 regs[regno].btf_id = ds_head->value_btf_id; in mark_reg_graph_node()
1653 regs[regno].off = ds_head->node_offset; in mark_reg_graph_node()
1936 struct bpf_reg_state *regs, u32 regno) in mark_reg_unknown() argument
1938 if (WARN_ON(regno >= MAX_BPF_REG)) { in mark_reg_unknown()
1939 verbose(env, "mark_reg_unknown(regs, %u)\n", regno); in mark_reg_unknown()
1941 for (regno = 0; regno < BPF_REG_FP; regno++) in mark_reg_unknown()
1942 __mark_reg_not_init(env, regs + regno); in mark_reg_unknown()
1945 __mark_reg_unknown(env, regs + regno); in mark_reg_unknown()
1956 struct bpf_reg_state *regs, u32 regno) in mark_reg_not_init() argument
1958 if (WARN_ON(regno >= MAX_BPF_REG)) { in mark_reg_not_init()
1959 verbose(env, "mark_reg_not_init(regs, %u)\n", regno); in mark_reg_not_init()
1961 for (regno = 0; regno < BPF_REG_FP; regno++) in mark_reg_not_init()
1962 __mark_reg_not_init(env, regs + regno); in mark_reg_not_init()
1965 __mark_reg_not_init(env, regs + regno); in mark_reg_not_init()
1969 struct bpf_reg_state *regs, u32 regno, in mark_btf_ld_reg() argument
1975 mark_reg_unknown(env, regs, regno); in mark_btf_ld_reg()
1978 mark_reg_known_zero(env, regs, regno); in mark_btf_ld_reg()
1979 regs[regno].type = PTR_TO_BTF_ID | flag; in mark_btf_ld_reg()
1980 regs[regno].btf = btf; in mark_btf_ld_reg()
1981 regs[regno].btf_id = btf_id; in mark_btf_ld_reg()
2595 u32 regno, struct bpf_reg_state *reg, enum reg_arg_type t) in is_reg64() argument
2663 if (regno == BPF_REG_6) in is_reg64()
2725 static int check_reg_arg(struct bpf_verifier_env *env, u32 regno, in check_reg_arg() argument
2734 if (regno >= MAX_BPF_REG) { in check_reg_arg()
2735 verbose(env, "R%d is invalid\n", regno); in check_reg_arg()
2739 mark_reg_scratched(env, regno); in check_reg_arg()
2741 reg = &regs[regno]; in check_reg_arg()
2742 rw64 = is_reg64(env, insn, regno, reg, t); in check_reg_arg()
2746 verbose(env, "R%d !read_ok\n", regno); in check_reg_arg()
2750 if (regno == BPF_REG_FP) in check_reg_arg()
2760 if (regno == BPF_REG_FP) { in check_reg_arg()
2767 mark_reg_unknown(env, regs, regno); in check_reg_arg()
3184 static int __mark_chain_precision(struct bpf_verifier_env *env, int frame, int regno, in __mark_chain_precision() argument
3192 u32 reg_mask = regno >= 0 ? 1u << regno : 0; in __mark_chain_precision()
3206 if (regno >= 0) { in __mark_chain_precision()
3207 reg = &func->regs[regno]; in __mark_chain_precision()
3372 int mark_chain_precision(struct bpf_verifier_env *env, int regno) in mark_chain_precision() argument
3374 return __mark_chain_precision(env, env->cur_state->curframe, regno, -1); in mark_chain_precision()
3377 static int mark_chain_precision_frame(struct bpf_verifier_env *env, int frame, int regno) in mark_chain_precision_frame() argument
3379 return __mark_chain_precision(env, frame, regno, -1); in mark_chain_precision_frame()
3883 int regno, int off, int access_size,
3888 static struct bpf_reg_state *reg_state(struct bpf_verifier_env *env, int regno) in reg_state() argument
3890 return cur_regs(env) + regno; in reg_state()
4021 static int check_map_access_type(struct bpf_verifier_env *env, u32 regno, in check_map_access_type() argument
4025 struct bpf_map *map = regs[regno].map_ptr; in check_map_access_type()
4044 static int __check_mem_access(struct bpf_verifier_env *env, int regno, in __check_mem_access() argument
4054 reg = &cur_regs(env)[regno]; in __check_mem_access()
4068 off, size, regno, reg->id, off, mem_size); in __check_mem_access()
4080 static int check_mem_region_access(struct bpf_verifier_env *env, u32 regno, in check_mem_region_access() argument
4086 struct bpf_reg_state *reg = &state->regs[regno]; in check_mem_region_access()
4104 regno); in check_mem_region_access()
4107 err = __check_mem_access(env, regno, reg->smin_value + off, size, in check_mem_region_access()
4111 regno); in check_mem_region_access()
4121 regno); in check_mem_region_access()
4124 err = __check_mem_access(env, regno, reg->umax_value + off, size, in check_mem_region_access()
4128 regno); in check_mem_region_access()
4136 const struct bpf_reg_state *reg, int regno, in __check_ptr_off_reg() argument
4145 reg_type_str(env, reg->type), regno, reg->off); in __check_ptr_off_reg()
4151 reg_type_str(env, reg->type), regno, reg->off); in __check_ptr_off_reg()
4168 const struct bpf_reg_state *reg, int regno) in check_ptr_off_reg() argument
4170 return __check_ptr_off_reg(env, reg, regno, false); in check_ptr_off_reg()
4175 struct bpf_reg_state *reg, u32 regno) in map_kptr_match_type() argument
4189 verbose(env, "R%d must point to kernel BTF\n", regno); in map_kptr_match_type()
4201 if (__check_ptr_off_reg(env, reg, regno, true)) in map_kptr_match_type()
4234 verbose(env, "invalid kptr access, R%d type=%s%s ", regno, in map_kptr_match_type()
4245 static int check_map_kptr_access(struct bpf_verifier_env *env, u32 regno, in check_map_kptr_access() argument
4301 static int check_map_access(struct bpf_verifier_env *env, u32 regno, in check_map_access() argument
4307 struct bpf_reg_state *reg = &state->regs[regno]; in check_map_access()
4312 err = check_mem_region_access(env, regno, off, size, map->value_size, in check_map_access()
4405 static int check_packet_access(struct bpf_verifier_env *env, u32 regno, int off, in check_packet_access() argument
4409 struct bpf_reg_state *reg = &regs[regno]; in check_packet_access()
4422 regno); in check_packet_access()
4427 __check_mem_access(env, regno, off, size, reg->range, in check_packet_access()
4430 verbose(env, "R%d offset is outside of the packet\n", regno); in check_packet_access()
4497 u32 regno, int off, int size, in check_sock_access() argument
4501 struct bpf_reg_state *reg = &regs[regno]; in check_sock_access()
4507 regno); in check_sock_access()
4536 regno, reg_type_str(env, reg->type), off, size); in check_sock_access()
4541 static bool is_pointer_value(struct bpf_verifier_env *env, int regno) in is_pointer_value() argument
4543 return __is_pointer_value(env->allow_ptr_leaks, reg_state(env, regno)); in is_pointer_value()
4546 static bool is_ctx_reg(struct bpf_verifier_env *env, int regno) in is_ctx_reg() argument
4548 const struct bpf_reg_state *reg = reg_state(env, regno); in is_ctx_reg()
4553 static bool is_sk_reg(struct bpf_verifier_env *env, int regno) in is_sk_reg() argument
4555 const struct bpf_reg_state *reg = reg_state(env, regno); in is_sk_reg()
4560 static bool is_pkt_reg(struct bpf_verifier_env *env, int regno) in is_pkt_reg() argument
4562 const struct bpf_reg_state *reg = reg_state(env, regno); in is_pkt_reg()
4567 static bool is_flow_key_reg(struct bpf_verifier_env *env, int regno) in is_flow_key_reg() argument
4569 const struct bpf_reg_state *reg = reg_state(env, regno); in is_flow_key_reg()
4858 int regno, int off, int size) in __check_buffer_access() argument
4863 regno, buf_info, off, size); in __check_buffer_access()
4872 regno, off, tn_buf); in __check_buffer_access()
4881 int regno, int off, int size) in check_tp_buffer_access() argument
4885 err = __check_buffer_access(env, "tracepoint", reg, regno, off, size); in check_tp_buffer_access()
4897 int regno, int off, int size, in check_buffer_access() argument
4904 err = __check_buffer_access(env, buf_info, reg, regno, off, size); in check_buffer_access()
5023 int regno, int off, int size, in check_ptr_to_btf_access() argument
5027 struct bpf_reg_state *reg = regs + regno; in check_ptr_to_btf_access()
5049 regno, tname, off); in check_ptr_to_btf_access()
5058 regno, tname, off, tn_buf); in check_ptr_to_btf_access()
5065 regno, tname, off); in check_ptr_to_btf_access()
5072 regno, tname, off); in check_ptr_to_btf_access()
5149 int regno, int off, int size, in check_ptr_to_map_access() argument
5153 struct bpf_reg_state *reg = regs + regno; in check_ptr_to_map_access()
5185 regno, tname, off); in check_ptr_to_map_access()
5236 int regno, int off, int access_size, in check_stack_access_within_bounds() argument
5240 struct bpf_reg_state *reg = regs + regno; in check_stack_access_within_bounds()
5264 err_extra, regno); in check_stack_access_within_bounds()
5281 err_extra, regno, off, access_size); in check_stack_access_within_bounds()
5287 err_extra, regno, tn_buf, access_size); in check_stack_access_within_bounds()
5299 static int check_mem_access(struct bpf_verifier_env *env, int insn_idx, u32 regno, in check_mem_access() argument
5304 struct bpf_reg_state *reg = regs + regno; in check_mem_access()
5322 verbose(env, "write to change key R%d not allowed\n", regno); in check_mem_access()
5326 err = check_mem_region_access(env, regno, off, size, in check_mem_access()
5340 err = check_map_access_type(env, regno, off, size, t); in check_mem_access()
5343 err = check_map_access(env, regno, off, size, false, ACCESS_DIRECT); in check_mem_access()
5350 err = check_map_kptr_access(env, regno, value_regno, insn_idx, kptr_field); in check_mem_access()
5376 verbose(env, "R%d invalid mem access '%s'\n", regno, in check_mem_access()
5383 regno, reg_type_str(env, reg->type)); in check_mem_access()
5393 err = check_mem_region_access(env, regno, off, size, in check_mem_access()
5408 err = check_ptr_off_reg(env, reg, regno); in check_mem_access()
5444 err = check_stack_access_within_bounds(env, regno, off, size, ACCESS_DIRECT, t); in check_mem_access()
5454 err = check_stack_read(env, regno, off, size, in check_mem_access()
5457 err = check_stack_write(env, regno, off, size, in check_mem_access()
5470 err = check_packet_access(env, regno, off, size, false); in check_mem_access()
5487 regno, reg_type_str(env, reg->type)); in check_mem_access()
5490 err = check_sock_access(env, insn_idx, regno, off, size, t); in check_mem_access()
5494 err = check_tp_buffer_access(env, reg, regno, off, size); in check_mem_access()
5499 err = check_ptr_to_btf_access(env, regs, regno, off, size, t, in check_mem_access()
5502 err = check_ptr_to_map_access(env, regs, regno, off, size, t, in check_mem_access()
5511 regno, reg_type_str(env, reg->type)); in check_mem_access()
5519 err = check_buffer_access(env, reg, regno, off, size, false, in check_mem_access()
5525 verbose(env, "R%d invalid mem access '%s'\n", regno, in check_mem_access()
5652 struct bpf_verifier_env *env, int regno, int off, in check_stack_range_initialized() argument
5656 struct bpf_reg_state *reg = reg_state(env, regno); in check_stack_range_initialized()
5681 err = check_stack_access_within_bounds(env, regno, off, access_size, in check_stack_range_initialized()
5700 regno, err_extra, tn_buf); in check_stack_range_initialized()
5743 meta->regno = regno; in check_stack_range_initialized()
5779 err_extra, regno, min_off, i - min_off, access_size); in check_stack_range_initialized()
5785 err_extra, regno, tn_buf, i - min_off, access_size); in check_stack_range_initialized()
5804 static int check_helper_mem_access(struct bpf_verifier_env *env, int regno, in check_helper_mem_access() argument
5808 struct bpf_reg_state *regs = cur_regs(env), *reg = &regs[regno]; in check_helper_mem_access()
5814 return check_packet_access(env, regno, reg->off, access_size, in check_helper_mem_access()
5818 verbose(env, "R%d cannot write into %s\n", regno, in check_helper_mem_access()
5822 return check_mem_region_access(env, regno, reg->off, access_size, in check_helper_mem_access()
5825 if (check_map_access_type(env, regno, reg->off, access_size, in check_helper_mem_access()
5829 return check_map_access(env, regno, reg->off, access_size, in check_helper_mem_access()
5834 verbose(env, "R%d cannot write into %s\n", regno, in check_helper_mem_access()
5839 return check_mem_region_access(env, regno, reg->off, in check_helper_mem_access()
5845 verbose(env, "R%d cannot write into %s\n", regno, in check_helper_mem_access()
5854 return check_buffer_access(env, reg, regno, reg->off, in check_helper_mem_access()
5860 regno, reg->off, access_size, in check_helper_mem_access()
5876 return check_mem_access(env, env->insn_idx, regno, offset, BPF_B, in check_helper_mem_access()
5887 verbose(env, "R%d type=%s ", regno, in check_helper_mem_access()
5895 struct bpf_reg_state *reg, u32 regno, in check_mem_size_reg() argument
5924 regno); in check_mem_size_reg()
5929 err = check_helper_mem_access(env, regno - 1, 0, in check_mem_size_reg()
5938 regno); in check_mem_size_reg()
5941 err = check_helper_mem_access(env, regno - 1, in check_mem_size_reg()
5945 err = mark_chain_precision(env, regno); in check_mem_size_reg()
5950 u32 regno, u32 mem_size) in check_mem_reg() argument
5970 err = check_helper_mem_access(env, regno, mem_size, true, &meta); in check_mem_reg()
5973 err = err ?: check_helper_mem_access(env, regno, mem_size, true, &meta); in check_mem_reg()
5982 u32 regno) in check_kfunc_mem_size_reg() argument
5984 struct bpf_reg_state *mem_reg = &cur_regs(env)[regno - 1]; in check_kfunc_mem_size_reg()
5990 WARN_ON_ONCE(regno < BPF_REG_2 || regno > BPF_REG_5); in check_kfunc_mem_size_reg()
5999 err = check_mem_size_reg(env, reg, regno, true, &meta); in check_kfunc_mem_size_reg()
6002 err = err ?: check_mem_size_reg(env, reg, regno, true, &meta); in check_kfunc_mem_size_reg()
6031 static int process_spin_lock(struct bpf_verifier_env *env, int regno, in process_spin_lock() argument
6034 struct bpf_reg_state *regs = cur_regs(env), *reg = &regs[regno]; in process_spin_lock()
6045 regno); in process_spin_lock()
6108 static int process_timer_func(struct bpf_verifier_env *env, int regno, in process_timer_func() argument
6111 struct bpf_reg_state *regs = cur_regs(env), *reg = &regs[regno]; in process_timer_func()
6119 regno); in process_timer_func()
6145 static int process_kptr_func(struct bpf_verifier_env *env, int regno, in process_kptr_func() argument
6148 struct bpf_reg_state *regs = cur_regs(env), *reg = &regs[regno]; in process_kptr_func()
6156 regno); in process_kptr_func()
6209 int process_dynptr_func(struct bpf_verifier_env *env, int regno, in process_dynptr_func() argument
6212 struct bpf_reg_state *regs = cur_regs(env), *reg = &regs[regno]; in process_dynptr_func()
6261 meta->uninit_dynptr_regno = regno; in process_dynptr_func()
6274 regno); in process_dynptr_func()
6295 err_extra, regno); in process_dynptr_func()
6478 static int check_reg_type(struct bpf_verifier_env *env, u32 regno, in check_reg_type() argument
6483 struct bpf_reg_state *regs = cur_regs(env), *reg = &regs[regno]; in check_reg_type()
6518 verbose(env, "R%d type=%s expected=", regno, reg_type_str(env, reg->type)); in check_reg_type()
6542 if (map_kptr_match_type(env, meta->kptr_field, reg, regno)) in check_reg_type()
6548 regno); in check_reg_type()
6556 regno, kernel_type_name(reg->btf, reg->btf_id), in check_reg_type()
6589 const struct bpf_reg_state *reg, int regno, in check_func_arg_reg_off() argument
6612 return __check_ptr_off_reg(env, reg, regno, true); in check_func_arg_reg_off()
6615 regno); in check_func_arg_reg_off()
6616 verbose(env, "No graph node or root found at R%d type:%s off:%d\n", regno, in check_func_arg_reg_off()
6627 regno); in check_func_arg_reg_off()
6630 return __check_ptr_off_reg(env, reg, regno, false); in check_func_arg_reg_off()
6663 return __check_ptr_off_reg(env, reg, regno, true); in check_func_arg_reg_off()
6665 return __check_ptr_off_reg(env, reg, regno, false); in check_func_arg_reg_off()
6699 u32 regno = BPF_REG_1 + arg; in check_func_arg() local
6700 struct bpf_reg_state *regs = cur_regs(env), *reg = &regs[regno]; in check_func_arg()
6709 err = check_reg_arg(env, regno, SRC_OP); in check_func_arg()
6714 if (is_pointer_value(env, regno)) { in check_func_arg()
6716 regno); in check_func_arg()
6745 err = check_reg_type(env, regno, arg_type, arg_btf_id, meta); in check_func_arg()
6749 err = check_func_arg_reg_off(env, reg, regno, arg_type); in check_func_arg()
6767 verbose(env, "arg %d is an unacquired reference\n", regno); in check_func_arg()
6776 regno); in check_func_arg()
6783 meta->release_regno = regno; in check_func_arg()
6789 regno, reg->ref_obj_id, in check_func_arg()
6837 err = check_helper_mem_access(env, regno, in check_func_arg()
6854 err = check_helper_mem_access(env, regno, in check_func_arg()
6860 verbose(env, "Helper has invalid btf_id in R%d\n", regno); in check_func_arg()
6872 err = process_spin_lock(env, regno, true); in check_func_arg()
6876 err = process_spin_lock(env, regno, false); in check_func_arg()
6885 err = process_timer_func(env, regno, meta); in check_func_arg()
6898 err = check_helper_mem_access(env, regno, in check_func_arg()
6904 err = check_mem_size_reg(env, reg, regno, false, meta); in check_func_arg()
6907 err = check_mem_size_reg(env, reg, regno, true, meta); in check_func_arg()
6910 err = process_dynptr_func(env, regno, arg_type, meta); in check_func_arg()
6917 regno); in check_func_arg()
6921 err = mark_chain_precision(env, regno); in check_func_arg()
6930 err = check_helper_mem_access(env, regno, size, false, meta); in check_func_arg()
6944 verbose(env, "R%d does not point to a readonly map'\n", regno); in check_func_arg()
6949 verbose(env, "R%d is not a constant address'\n", regno); in check_func_arg()
6958 err = check_map_access(env, regno, reg->off, in check_func_arg()
6979 err = process_kptr_func(env, regno, meta); in check_func_arg()
8217 err = check_mem_access(env, insn_idx, meta.regno, i, BPF_B, in check_helper_call()
8577 static void mark_btf_func_reg_size(struct bpf_verifier_env *env, u32 regno, in mark_btf_func_reg_size() argument
8580 struct bpf_reg_state *reg = &cur_regs(env)[regno]; in mark_btf_func_reg_size()
8582 if (regno == BPF_REG_0) { in mark_btf_func_reg_size()
8928 u32 regno = argno + 1; in get_kfunc_ptr_arg_type() local
8930 struct bpf_reg_state *reg = &regs[regno]; in get_kfunc_ptr_arg_type()
8989 if (argno + 1 < nargs && is_kfunc_arg_mem_size(meta->btf, &args[argno + 1], &regs[regno + 1])) in get_kfunc_ptr_arg_type()
9312 struct bpf_reg_state *reg, u32 regno, in __process_kf_arg_ptr_to_graph_root() argument
9334 regno, head_type_name); in __process_kf_arg_ptr_to_graph_root()
9362 struct bpf_reg_state *reg, u32 regno, in process_kf_arg_ptr_to_list_head() argument
9365 return __process_kf_arg_ptr_to_graph_root(env, reg, regno, meta, BPF_LIST_HEAD, in process_kf_arg_ptr_to_list_head()
9370 struct bpf_reg_state *reg, u32 regno, in process_kf_arg_ptr_to_rbtree_root() argument
9373 return __process_kf_arg_ptr_to_graph_root(env, reg, regno, meta, BPF_RB_ROOT, in process_kf_arg_ptr_to_rbtree_root()
9379 struct bpf_reg_state *reg, u32 regno, in __process_kf_arg_ptr_to_graph_node() argument
9402 regno, node_type_name); in __process_kf_arg_ptr_to_graph_node()
9441 struct bpf_reg_state *reg, u32 regno, in process_kf_arg_ptr_to_list_node() argument
9444 return __process_kf_arg_ptr_to_graph_node(env, reg, regno, meta, in process_kf_arg_ptr_to_list_node()
9450 struct bpf_reg_state *reg, u32 regno, in process_kf_arg_ptr_to_rbtree_node() argument
9453 return __process_kf_arg_ptr_to_graph_node(env, reg, regno, meta, in process_kf_arg_ptr_to_rbtree_node()
9481 u32 regno = i + 1, ref_id, type_size; in check_kfunc_args() local
9492 verbose(env, "R%d is not a scalar\n", regno); in check_kfunc_args()
9502 verbose(env, "R%d must be a known constant\n", regno); in check_kfunc_args()
9505 ret = mark_chain_precision(env, regno); in check_kfunc_args()
9524 verbose(env, "R%d is not a const\n", regno); in check_kfunc_args()
9529 ret = mark_chain_precision(env, regno); in check_kfunc_args()
9550 regno, reg->ref_obj_id, in check_kfunc_args()
9556 meta->release_regno = regno; in check_kfunc_args()
9574 verbose(env, "R%d must be referenced or trusted\n", regno); in check_kfunc_args()
9578 verbose(env, "R%d must be a rcu pointer\n", regno); in check_kfunc_args()
9606 ret = check_func_arg_reg_off(env, reg, regno, arg_type); in check_kfunc_args()
9655 ret = process_dynptr_func(env, regno, ARG_PTR_TO_DYNPTR | MEM_RDONLY, NULL); in check_kfunc_args()
9669 ret = process_kf_arg_ptr_to_list_head(env, reg, regno, meta); in check_kfunc_args()
9683 ret = process_kf_arg_ptr_to_rbtree_root(env, reg, regno, meta); in check_kfunc_args()
9696 ret = process_kf_arg_ptr_to_list_node(env, reg, regno, meta); in check_kfunc_args()
9721 ret = process_kf_arg_ptr_to_rbtree_node(env, reg, regno, meta); in check_kfunc_args()
9747 ret = check_mem_reg(env, reg, regno, type_size); in check_kfunc_args()
9752 ret = check_kfunc_mem_size_reg(env, &regs[regno + 1], regno + 1); in check_kfunc_args()
10056 u32 regno = i + 1; in check_kfunc_call() local
10060 mark_btf_func_reg_size(env, regno, sizeof(void *)); in check_kfunc_call()
10063 mark_btf_func_reg_size(env, regno, t->size); in check_kfunc_call()
10408 int regno, in check_stack_access_for_ptr_arithmetic() argument
10417 regno, tn_buf, off); in check_stack_access_for_ptr_arithmetic()
10423 "prohibited for !root; off=%d\n", regno, off); in check_stack_access_for_ptr_arithmetic()
12267 static void mark_ptr_or_null_regs(struct bpf_verifier_state *vstate, u32 regno, in mark_ptr_or_null_regs() argument
12272 u32 ref_obj_id = regs[regno].ref_obj_id; in mark_ptr_or_null_regs()
12273 u32 id = regs[regno].id; in mark_ptr_or_null_regs()