Lines Matching refs:func_id

207 			     u32 func_id, u16 offset, unsigned long *addr);
283 int func_id; member
296 u32 func_id; member
467 static bool is_acquire_function(enum bpf_func_id func_id, in is_acquire_function() argument
472 if (func_id == BPF_FUNC_sk_lookup_tcp || in is_acquire_function()
473 func_id == BPF_FUNC_sk_lookup_udp || in is_acquire_function()
474 func_id == BPF_FUNC_skc_lookup_tcp || in is_acquire_function()
475 func_id == BPF_FUNC_ringbuf_reserve || in is_acquire_function()
476 func_id == BPF_FUNC_kptr_xchg) in is_acquire_function()
479 if (func_id == BPF_FUNC_map_lookup_elem && in is_acquire_function()
487 static bool is_ptr_cast_function(enum bpf_func_id func_id) in is_ptr_cast_function() argument
489 return func_id == BPF_FUNC_tcp_sock || in is_ptr_cast_function()
490 func_id == BPF_FUNC_sk_fullsock || in is_ptr_cast_function()
491 func_id == BPF_FUNC_skc_to_tcp_sock || in is_ptr_cast_function()
492 func_id == BPF_FUNC_skc_to_tcp6_sock || in is_ptr_cast_function()
493 func_id == BPF_FUNC_skc_to_udp6_sock || in is_ptr_cast_function()
494 func_id == BPF_FUNC_skc_to_mptcp_sock || in is_ptr_cast_function()
495 func_id == BPF_FUNC_skc_to_tcp_timewait_sock || in is_ptr_cast_function()
496 func_id == BPF_FUNC_skc_to_tcp_request_sock; in is_ptr_cast_function()
499 static bool is_dynptr_ref_function(enum bpf_func_id func_id) in is_dynptr_ref_function() argument
501 return func_id == BPF_FUNC_dynptr_data; in is_dynptr_ref_function()
511 static bool is_sync_callback_calling_function(enum bpf_func_id func_id) in is_sync_callback_calling_function() argument
513 return func_id == BPF_FUNC_for_each_map_elem || in is_sync_callback_calling_function()
514 func_id == BPF_FUNC_find_vma || in is_sync_callback_calling_function()
515 func_id == BPF_FUNC_loop || in is_sync_callback_calling_function()
516 func_id == BPF_FUNC_user_ringbuf_drain; in is_sync_callback_calling_function()
519 static bool is_async_callback_calling_function(enum bpf_func_id func_id) in is_async_callback_calling_function() argument
521 return func_id == BPF_FUNC_timer_set_callback; in is_async_callback_calling_function()
524 static bool is_callback_calling_function(enum bpf_func_id func_id) in is_callback_calling_function() argument
526 return is_sync_callback_calling_function(func_id) || in is_callback_calling_function()
527 is_async_callback_calling_function(func_id); in is_callback_calling_function()
552 static bool is_storage_get_function(enum bpf_func_id func_id) in is_storage_get_function() argument
554 return func_id == BPF_FUNC_sk_storage_get || in is_storage_get_function()
555 func_id == BPF_FUNC_inode_storage_get || in is_storage_get_function()
556 func_id == BPF_FUNC_task_storage_get || in is_storage_get_function()
557 func_id == BPF_FUNC_cgrp_storage_get; in is_storage_get_function()
560 static bool helper_multiple_ref_obj_use(enum bpf_func_id func_id, in helper_multiple_ref_obj_use() argument
565 if (is_ptr_cast_function(func_id)) in helper_multiple_ref_obj_use()
567 if (is_acquire_function(func_id, map)) in helper_multiple_ref_obj_use()
569 if (is_dynptr_ref_function(func_id)) in helper_multiple_ref_obj_use()
2972 u32 func_id; member
3005 return d0->func_id - d1->func_id ?: d0->offset - d1->offset; in kfunc_desc_cmp_by_id_off()
3017 find_kfunc_desc(const struct bpf_prog *prog, u32 func_id, u16 offset) in find_kfunc_desc() argument
3020 .func_id = func_id, in find_kfunc_desc()
3030 int bpf_get_kfunc_addr(const struct bpf_prog *prog, u32 func_id, in bpf_get_kfunc_addr() argument
3035 desc = find_kfunc_desc(prog, func_id, btf_fd_idx); in bpf_get_kfunc_addr()
3135 static int add_kfunc_call(struct bpf_verifier_env *env, u32 func_id, s16 offset) in add_kfunc_call() argument
3184 if (!func_id && !offset) in add_kfunc_call()
3200 if (find_kfunc_desc(env->prog, func_id, offset)) in add_kfunc_call()
3208 func = btf_type_by_id(desc_btf, func_id); in add_kfunc_call()
3211 func_id); in add_kfunc_call()
3217 func_id); in add_kfunc_call()
3228 specialize_kfunc(env, func_id, offset, &addr); in add_kfunc_call()
3231 call_imm = func_id; in add_kfunc_call()
3242 if (bpf_dev_bound_kfunc_id(func_id)) { in add_kfunc_call()
3249 desc->func_id = func_id; in add_kfunc_call()
8982 if (meta->func_id == BPF_FUNC_map_peek_elem) in resolve_map_arg_type()
9138 if (meta->func_id == BPF_FUNC_kptr_xchg && type_is_alloc(type) && regno == BPF_REG_2) { in check_reg_type()
9166 func_id_name(meta->func_id), in check_reg_type()
9186 meta->func_id != BPF_FUNC_sk_release; in check_reg_type()
9202 if (meta->func_id == BPF_FUNC_kptr_xchg) { in check_reg_type()
9226 if (meta->func_id != BPF_FUNC_spin_lock && meta->func_id != BPF_FUNC_spin_unlock && in check_reg_type()
9227 meta->func_id != BPF_FUNC_kptr_xchg) { in check_reg_type()
9232 if (meta->func_id == BPF_FUNC_kptr_xchg && regno == BPF_REG_2) { in check_reg_type()
9703 if (meta->func_id == BPF_FUNC_spin_lock) { in check_func_arg()
9707 } else if (meta->func_id == BPF_FUNC_spin_unlock) { in check_func_arg()
9784 static bool may_update_sockmap(struct bpf_verifier_env *env, int func_id) in may_update_sockmap() argument
9789 if (func_id != BPF_FUNC_map_update_elem && in may_update_sockmap()
9790 func_id != BPF_FUNC_map_delete_elem) in may_update_sockmap()
9803 if (func_id == BPF_FUNC_map_delete_elem) in may_update_sockmap()
9829 struct bpf_map *map, int func_id) in check_map_func_compatibility() argument
9837 if (func_id != BPF_FUNC_tail_call) in check_map_func_compatibility()
9841 if (func_id != BPF_FUNC_perf_event_read && in check_map_func_compatibility()
9842 func_id != BPF_FUNC_perf_event_output && in check_map_func_compatibility()
9843 func_id != BPF_FUNC_skb_output && in check_map_func_compatibility()
9844 func_id != BPF_FUNC_perf_event_read_value && in check_map_func_compatibility()
9845 func_id != BPF_FUNC_xdp_output) in check_map_func_compatibility()
9849 if (func_id != BPF_FUNC_ringbuf_output && in check_map_func_compatibility()
9850 func_id != BPF_FUNC_ringbuf_reserve && in check_map_func_compatibility()
9851 func_id != BPF_FUNC_ringbuf_query && in check_map_func_compatibility()
9852 func_id != BPF_FUNC_ringbuf_reserve_dynptr && in check_map_func_compatibility()
9853 func_id != BPF_FUNC_ringbuf_submit_dynptr && in check_map_func_compatibility()
9854 func_id != BPF_FUNC_ringbuf_discard_dynptr) in check_map_func_compatibility()
9858 if (func_id != BPF_FUNC_user_ringbuf_drain) in check_map_func_compatibility()
9862 if (func_id != BPF_FUNC_get_stackid) in check_map_func_compatibility()
9866 if (func_id != BPF_FUNC_skb_under_cgroup && in check_map_func_compatibility()
9867 func_id != BPF_FUNC_current_task_under_cgroup) in check_map_func_compatibility()
9872 if (func_id != BPF_FUNC_get_local_storage) in check_map_func_compatibility()
9877 if (func_id != BPF_FUNC_redirect_map && in check_map_func_compatibility()
9878 func_id != BPF_FUNC_map_lookup_elem) in check_map_func_compatibility()
9885 if (func_id != BPF_FUNC_redirect_map) in check_map_func_compatibility()
9889 if (func_id != BPF_FUNC_redirect_map && in check_map_func_compatibility()
9890 func_id != BPF_FUNC_map_lookup_elem) in check_map_func_compatibility()
9895 if (func_id != BPF_FUNC_map_lookup_elem) in check_map_func_compatibility()
9899 if (func_id != BPF_FUNC_sk_redirect_map && in check_map_func_compatibility()
9900 func_id != BPF_FUNC_sock_map_update && in check_map_func_compatibility()
9901 func_id != BPF_FUNC_msg_redirect_map && in check_map_func_compatibility()
9902 func_id != BPF_FUNC_sk_select_reuseport && in check_map_func_compatibility()
9903 func_id != BPF_FUNC_map_lookup_elem && in check_map_func_compatibility()
9904 !may_update_sockmap(env, func_id)) in check_map_func_compatibility()
9908 if (func_id != BPF_FUNC_sk_redirect_hash && in check_map_func_compatibility()
9909 func_id != BPF_FUNC_sock_hash_update && in check_map_func_compatibility()
9910 func_id != BPF_FUNC_msg_redirect_hash && in check_map_func_compatibility()
9911 func_id != BPF_FUNC_sk_select_reuseport && in check_map_func_compatibility()
9912 func_id != BPF_FUNC_map_lookup_elem && in check_map_func_compatibility()
9913 !may_update_sockmap(env, func_id)) in check_map_func_compatibility()
9917 if (func_id != BPF_FUNC_sk_select_reuseport) in check_map_func_compatibility()
9922 if (func_id != BPF_FUNC_map_peek_elem && in check_map_func_compatibility()
9923 func_id != BPF_FUNC_map_pop_elem && in check_map_func_compatibility()
9924 func_id != BPF_FUNC_map_push_elem) in check_map_func_compatibility()
9928 if (func_id != BPF_FUNC_sk_storage_get && in check_map_func_compatibility()
9929 func_id != BPF_FUNC_sk_storage_delete && in check_map_func_compatibility()
9930 func_id != BPF_FUNC_kptr_xchg) in check_map_func_compatibility()
9934 if (func_id != BPF_FUNC_inode_storage_get && in check_map_func_compatibility()
9935 func_id != BPF_FUNC_inode_storage_delete && in check_map_func_compatibility()
9936 func_id != BPF_FUNC_kptr_xchg) in check_map_func_compatibility()
9940 if (func_id != BPF_FUNC_task_storage_get && in check_map_func_compatibility()
9941 func_id != BPF_FUNC_task_storage_delete && in check_map_func_compatibility()
9942 func_id != BPF_FUNC_kptr_xchg) in check_map_func_compatibility()
9946 if (func_id != BPF_FUNC_cgrp_storage_get && in check_map_func_compatibility()
9947 func_id != BPF_FUNC_cgrp_storage_delete && in check_map_func_compatibility()
9948 func_id != BPF_FUNC_kptr_xchg) in check_map_func_compatibility()
9952 if (func_id != BPF_FUNC_map_peek_elem && in check_map_func_compatibility()
9953 func_id != BPF_FUNC_map_push_elem) in check_map_func_compatibility()
9961 switch (func_id) { in check_map_func_compatibility()
10075 map->map_type, func_id_name(func_id), func_id); in check_map_func_compatibility()
10153 static int check_func_proto(const struct bpf_func_proto *fn, int func_id) in check_func_proto() argument
10925 int func_id, in do_refine_retval_range() argument
10933 switch (func_id) { in do_refine_retval_range()
10963 int func_id, int insn_idx) in record_func_map() argument
10968 if (func_id != BPF_FUNC_tail_call && in record_func_map()
10969 func_id != BPF_FUNC_map_lookup_elem && in record_func_map()
10970 func_id != BPF_FUNC_map_update_elem && in record_func_map()
10971 func_id != BPF_FUNC_map_delete_elem && in record_func_map()
10972 func_id != BPF_FUNC_map_push_elem && in record_func_map()
10973 func_id != BPF_FUNC_map_pop_elem && in record_func_map()
10974 func_id != BPF_FUNC_map_peek_elem && in record_func_map()
10975 func_id != BPF_FUNC_for_each_map_elem && in record_func_map()
10976 func_id != BPF_FUNC_redirect_map && in record_func_map()
10977 func_id != BPF_FUNC_map_lookup_percpu_elem) in record_func_map()
10990 (func_id == BPF_FUNC_map_delete_elem || in record_func_map()
10991 func_id == BPF_FUNC_map_update_elem || in record_func_map()
10992 func_id == BPF_FUNC_map_push_elem || in record_func_map()
10993 func_id == BPF_FUNC_map_pop_elem)) { in record_func_map()
11009 int func_id, int insn_idx) in record_func_key() argument
11017 if (func_id != BPF_FUNC_tail_call) in record_func_key()
11145 int func_id = BPF_FUNC_get_func_ip; in check_get_func_ip() local
11150 func_id_name(func_id), func_id); in check_get_func_ip()
11159 func_id_name(func_id), func_id, type); in check_get_func_ip()
11213 static int get_helper_proto(struct bpf_verifier_env *env, int func_id, in get_helper_proto() argument
11216 if (func_id < 0 || func_id >= __BPF_FUNC_MAX_ID) in get_helper_proto()
11222 *ptr = env->ops->get_func_proto(func_id, env->prog); in get_helper_proto()
11238 int i, err, func_id; in check_helper_call() local
11241 func_id = insn->imm; in check_helper_call()
11244 verbose(env, "invalid func %s#%d\n", func_id_name(func_id), func_id); in check_helper_call()
11250 func_id_name(func_id), func_id); in check_helper_call()
11271 changes_data = bpf_helper_changes_pkt_data(func_id); in check_helper_call()
11274 func_id_name(func_id), func_id); in check_helper_call()
11281 err = check_func_proto(fn, func_id); in check_helper_call()
11284 func_id_name(func_id), func_id); in check_helper_call()
11291 func_id_name(func_id), func_id); in check_helper_call()
11295 if (in_sleepable(env) && is_storage_get_function(func_id)) in check_helper_call()
11302 func_id_name(func_id), func_id); in check_helper_call()
11306 if (in_sleepable(env) && is_storage_get_function(func_id)) in check_helper_call()
11313 func_id_name(func_id), func_id); in check_helper_call()
11317 if (in_sleepable(env) && is_storage_get_function(func_id)) in check_helper_call()
11321 meta.func_id = func_id; in check_helper_call()
11329 err = record_func_map(env, &meta, func_id, insn_idx); in check_helper_call()
11333 err = record_func_key(env, &meta, func_id, insn_idx); in check_helper_call()
11361 } else if (func_id == BPF_FUNC_kptr_xchg && meta.ref_obj_id) { in check_helper_call()
11391 func_id_name(func_id), func_id); in check_helper_call()
11396 switch (func_id) { in check_helper_call()
11580 if (func_id == BPF_FUNC_map_lookup_elem && in check_helper_call()
11657 if (func_id == BPF_FUNC_kptr_xchg) { in check_helper_call()
11669 func_id_name(func_id)); in check_helper_call()
11677 base_type(ret_type), func_id_name(func_id), in check_helper_call()
11678 func_id); in check_helper_call()
11687 base_type(ret_type), func_id_name(func_id), func_id); in check_helper_call()
11694 if (helper_multiple_ref_obj_use(func_id, meta.map_ptr)) { in check_helper_call()
11696 func_id_name(func_id), func_id); in check_helper_call()
11700 if (is_dynptr_ref_function(func_id)) in check_helper_call()
11703 if (is_ptr_cast_function(func_id) || is_dynptr_ref_function(func_id)) { in check_helper_call()
11706 } else if (is_acquire_function(func_id, meta.map_ptr)) { in check_helper_call()
11717 err = do_refine_retval_range(env, regs, fn->ret_type, func_id, &meta); in check_helper_call()
11721 err = check_map_func_compatibility(env, meta.map_ptr, func_id); in check_helper_call()
11725 if ((func_id == BPF_FUNC_get_stack || in check_helper_call()
11726 func_id == BPF_FUNC_get_task_stack) && in check_helper_call()
11738 verbose(env, err_str, func_id_name(func_id), func_id); in check_helper_call()
11745 if (func_id == BPF_FUNC_get_stackid || func_id == BPF_FUNC_get_stack) in check_helper_call()
11748 if (func_id == BPF_FUNC_get_func_ip) { in check_helper_call()
12200 if (meta->func_id == special_kfunc_list[KF_bpf_refcount_acquire_impl] && in BTF_ID()
12210 return meta->func_id == special_kfunc_list[KF_bpf_rcu_read_lock]; in is_kfunc_bpf_rcu_read_lock()
12215 return meta->func_id == special_kfunc_list[KF_bpf_rcu_read_unlock]; in is_kfunc_bpf_rcu_read_unlock()
12220 return meta->func_id == special_kfunc_list[KF_bpf_preempt_disable]; in is_kfunc_bpf_preempt_disable()
12225 return meta->func_id == special_kfunc_list[KF_bpf_preempt_enable]; in is_kfunc_bpf_preempt_enable()
12240 if (meta->func_id == special_kfunc_list[KF_bpf_cast_to_kern_ctx]) in get_kfunc_ptr_arg_type()
12403 if (meta->func_id == special_kfunc_list[KF_bpf_local_irq_save] || in process_irq_flag()
12404 meta->func_id == special_kfunc_list[KF_bpf_res_spin_lock_irqsave]) { in process_irq_flag()
12406 if (meta->func_id == special_kfunc_list[KF_bpf_res_spin_lock_irqsave]) in process_irq_flag()
12408 } else if (meta->func_id == special_kfunc_list[KF_bpf_local_irq_restore] || in process_irq_flag()
12409 meta->func_id == special_kfunc_list[KF_bpf_res_spin_unlock_irqrestore]) { in process_irq_flag()
12411 if (meta->func_id == special_kfunc_list[KF_bpf_res_spin_unlock_irqrestore]) in process_irq_flag()
12720 if (!check_kfunc_is_graph_root_api(env, head_field_type, meta->func_id)) in __process_kf_arg_ptr_to_graph_root()
12788 if (!check_kfunc_is_graph_node_api(env, node_field_type, meta->func_id)) in __process_kf_arg_ptr_to_graph_node()
13069 if (meta->func_id == special_kfunc_list[KF_bpf_cast_to_kern_ctx]) { in check_kfunc_args()
13078 if (meta->func_id != special_kfunc_list[KF_bpf_obj_drop_impl]) { in check_kfunc_args()
13083 if (meta->func_id != special_kfunc_list[KF_bpf_percpu_obj_drop_impl]) { in check_kfunc_args()
13111 if (meta->func_id == special_kfunc_list[KF_bpf_dynptr_from_skb]) { in check_kfunc_args()
13113 } else if (meta->func_id == special_kfunc_list[KF_bpf_dynptr_from_xdp]) { in check_kfunc_args()
13115 } else if (meta->func_id == special_kfunc_list[KF_bpf_dynptr_clone] && in check_kfunc_args()
13151 if (meta->func_id == special_kfunc_list[KF_bpf_iter_css_task_new]) { in check_kfunc_args()
13203 if (meta->func_id == special_kfunc_list[KF_bpf_rbtree_remove]) { in check_kfunc_args()
13356 if (!is_bpf_res_spin_lock_kfunc(meta->func_id)) in check_kfunc_args()
13358 if (meta->func_id == special_kfunc_list[KF_bpf_res_spin_lock] || in check_kfunc_args()
13359 meta->func_id == special_kfunc_list[KF_bpf_res_spin_lock_irqsave]) in check_kfunc_args()
13361 if (meta->func_id == special_kfunc_list[KF_bpf_res_spin_lock_irqsave] || in check_kfunc_args()
13362 meta->func_id == special_kfunc_list[KF_bpf_res_spin_unlock_irqrestore]) in check_kfunc_args()
13387 u32 func_id, *kfunc_flags; in fetch_kfunc_meta() local
13401 func_id = insn->imm; in fetch_kfunc_meta()
13402 func = btf_type_by_id(desc_btf, func_id); in fetch_kfunc_meta()
13408 kfunc_flags = btf_kfunc_id_set_contains(desc_btf, func_id, env->prog); in fetch_kfunc_meta()
13415 meta->func_id = func_id; in fetch_kfunc_meta()
13497 if (meta.func_id == special_kfunc_list[KF_bpf_rbtree_add_impl]) { in check_kfunc_call()
13502 func_name, meta.func_id); in check_kfunc_call()
13507 if (meta.func_id == special_kfunc_list[KF_bpf_session_cookie]) { in check_kfunc_call()
13512 if (is_bpf_wq_set_callback_impl_kfunc(meta.func_id)) { in check_kfunc_call()
13517 func_name, meta.func_id); in check_kfunc_call()
13588 func_name, meta.func_id); in check_kfunc_call()
13593 if (meta.func_id == special_kfunc_list[KF_bpf_list_push_front_impl] || in check_kfunc_call()
13594 meta.func_id == special_kfunc_list[KF_bpf_list_push_back_impl] || in check_kfunc_call()
13595 meta.func_id == special_kfunc_list[KF_bpf_rbtree_add_impl]) { in check_kfunc_call()
13602 func_name, meta.func_id); in check_kfunc_call()
13609 func_name, meta.func_id); in check_kfunc_call()
13614 if (meta.func_id == special_kfunc_list[KF_bpf_throw]) { in check_kfunc_call()
13617 func_name, meta.func_id); in check_kfunc_call()
13641 (meta.func_id != special_kfunc_list[KF_bpf_obj_new_impl] && in check_kfunc_call()
13642 meta.func_id != special_kfunc_list[KF_bpf_percpu_obj_new_impl] && in check_kfunc_call()
13643 meta.func_id != special_kfunc_list[KF_bpf_refcount_acquire_impl])) { in check_kfunc_call()
13651 if (meta.btf == btf_vmlinux && (meta.func_id == special_kfunc_list[KF_bpf_res_spin_lock] || in check_kfunc_call()
13652 meta.func_id == special_kfunc_list[KF_bpf_res_spin_lock_irqsave])) in check_kfunc_call()
13658 if (meta.btf == btf_vmlinux && btf_id_set_contains(&special_kfunc_set, meta.func_id)) { in check_kfunc_call()
13659 if (meta.func_id == special_kfunc_list[KF_bpf_obj_new_impl] || in check_kfunc_call()
13660 meta.func_id == special_kfunc_list[KF_bpf_percpu_obj_new_impl]) { in check_kfunc_call()
13665 if (meta.func_id == special_kfunc_list[KF_bpf_obj_new_impl] && !bpf_global_ma_set) in check_kfunc_call()
13688 if (meta.func_id == special_kfunc_list[KF_bpf_percpu_obj_new_impl]) { in check_kfunc_call()
13718 if (meta.func_id == special_kfunc_list[KF_bpf_percpu_obj_new_impl]) { in check_kfunc_call()
13734 if (meta.func_id == special_kfunc_list[KF_bpf_percpu_obj_new_impl]) in check_kfunc_call()
13739 } else if (meta.func_id == special_kfunc_list[KF_bpf_refcount_acquire_impl]) { in check_kfunc_call()
13748 } else if (meta.func_id == special_kfunc_list[KF_bpf_list_pop_front] || in check_kfunc_call()
13749 meta.func_id == special_kfunc_list[KF_bpf_list_pop_back]) { in check_kfunc_call()
13753 } else if (meta.func_id == special_kfunc_list[KF_bpf_rbtree_remove] || in check_kfunc_call()
13754 meta.func_id == special_kfunc_list[KF_bpf_rbtree_first]) { in check_kfunc_call()
13758 } else if (meta.func_id == special_kfunc_list[KF_bpf_cast_to_kern_ctx]) { in check_kfunc_call()
13763 } else if (meta.func_id == special_kfunc_list[KF_bpf_rdonly_cast]) { in check_kfunc_call()
13775 } else if (meta.func_id == special_kfunc_list[KF_bpf_dynptr_slice] || in check_kfunc_call()
13776 meta.func_id == special_kfunc_list[KF_bpf_dynptr_slice_rdwr]) { in check_kfunc_call()
13791 if (meta.func_id == special_kfunc_list[KF_bpf_dynptr_slice]) { in check_kfunc_call()
13855 if (meta.func_id == special_kfunc_list[KF_bpf_get_kmem_cache]) in check_kfunc_call()
13884 } else if (meta.func_id == special_kfunc_list[KF_bpf_rbtree_first]) { in check_kfunc_call()
13891 if (meta.btf == btf_vmlinux && btf_id_set_contains(&special_kfunc_set, meta.func_id)) { in check_kfunc_call()
13892 if (meta.func_id == special_kfunc_list[KF_bpf_obj_drop_impl] || in check_kfunc_call()
13893 meta.func_id == special_kfunc_list[KF_bpf_percpu_obj_drop_impl]) { in check_kfunc_call()
21340 u32 func_id, u16 offset, unsigned long *addr) in specialize_kfunc() argument
21347 if (bpf_dev_bound_kfunc_id(func_id)) { in specialize_kfunc()
21348 xdp_kfunc = bpf_dev_bound_resolve_kfunc(prog, func_id); in specialize_kfunc()
21359 if (func_id == special_kfunc_list[KF_bpf_dynptr_from_skb]) { in specialize_kfunc()
21372 if (func_id == special_kfunc_list[KF_bpf_set_dentry_xattr] && in specialize_kfunc()
21376 if (func_id == special_kfunc_list[KF_bpf_remove_dentry_xattr] && in specialize_kfunc()
21425 if (desc->func_id == special_kfunc_list[KF_bpf_obj_new_impl] || in fixup_kfunc_call()
21426 desc->func_id == special_kfunc_list[KF_bpf_percpu_obj_new_impl]) { in fixup_kfunc_call()
21431 if (desc->func_id == special_kfunc_list[KF_bpf_percpu_obj_new_impl] && kptr_struct_meta) { in fixup_kfunc_call()
21442 } else if (desc->func_id == special_kfunc_list[KF_bpf_obj_drop_impl] || in fixup_kfunc_call()
21443 desc->func_id == special_kfunc_list[KF_bpf_percpu_obj_drop_impl] || in fixup_kfunc_call()
21444 desc->func_id == special_kfunc_list[KF_bpf_refcount_acquire_impl]) { in fixup_kfunc_call()
21448 if (desc->func_id == special_kfunc_list[KF_bpf_percpu_obj_drop_impl] && kptr_struct_meta) { in fixup_kfunc_call()
21454 if (desc->func_id == special_kfunc_list[KF_bpf_refcount_acquire_impl] && in fixup_kfunc_call()
21465 } else if (desc->func_id == special_kfunc_list[KF_bpf_list_push_back_impl] || in fixup_kfunc_call()
21466 desc->func_id == special_kfunc_list[KF_bpf_list_push_front_impl] || in fixup_kfunc_call()
21467 desc->func_id == special_kfunc_list[KF_bpf_rbtree_add_impl]) { in fixup_kfunc_call()
21473 if (desc->func_id == special_kfunc_list[KF_bpf_rbtree_add_impl]) { in fixup_kfunc_call()
21486 } else if (desc->func_id == special_kfunc_list[KF_bpf_cast_to_kern_ctx] || in fixup_kfunc_call()
21487 desc->func_id == special_kfunc_list[KF_bpf_rdonly_cast]) { in fixup_kfunc_call()
21490 } else if (is_bpf_wq_set_callback_impl_kfunc(desc->func_id)) { in fixup_kfunc_call()