Home
last modified time | relevance | path

Searched refs:subprog (Results 1 – 18 of 18) sorted by relevance

/linux-6.12.1/tools/testing/selftests/bpf/progs/
Dtc_bpf2bpf.c8 int subprog(struct __sk_buff *skb) in subprog() function
19 return subprog(skb); in entry_tc()
Dtest_static_linked2.c15 static __noinline int subprog(int x) in subprog() function
24 var2 = subprog(rovar2) + static_var1 + static_var2; in handler2()
Dtest_static_linked1.c15 static __noinline int subprog(int x) in subprog() function
24 var1 = subprog(rovar1) + static_var1 + static_var2; in handler1()
Depilogue_tailcall.c12 static __noinline __used int subprog(struct st_ops_args *args) in subprog() function
21 subprog(args); in BPF_PROG()
Dlinked_funcs2.c19 static __noinline int subprog(int x) in subprog() function
28 output_val2 = 2 * x + 2 * subprog(x); in set_output_val2()
Dlinked_funcs1.c19 static __noinline int subprog(int x) in subprog() function
28 output_val1 = x + subprog(x); in set_output_val1()
Dexceptions.c158 __noinline static int subprog(struct __sk_buff *ctx) in subprog() function
187 return subprog(ctx); in exception_throw_subprog()
Dpro_epilogue.c17 static __noinline __used int subprog(struct st_ops_args *args) in subprog() function
/linux-6.12.1/drivers/net/ethernet/netronome/nfp/bpf/
Dverifier.c686 nfp_prog->subprog[index].needs_reg_push = 1; in nfp_assign_subprog_idx_and_regs()
714 frame_depths[frame] = nfp_prog->subprog[idx].stack_depth; in nfp_bpf_get_stack_usage()
773 nfp_prog->subprog = kcalloc(nfp_prog->subprog_cnt, in nfp_bpf_finalize()
774 sizeof(nfp_prog->subprog[0]), GFP_KERNEL); in nfp_bpf_finalize()
775 if (!nfp_prog->subprog) in nfp_bpf_finalize()
782 nfp_prog->subprog[i].stack_depth = info[i].stack_depth; in nfp_bpf_finalize()
788 nfp_prog->subprog[i].stack_depth += REG_WIDTH; in nfp_bpf_finalize()
790 if (nfp_prog->subprog[i].needs_reg_push) in nfp_bpf_finalize()
791 nfp_prog->subprog[i].stack_depth += BPF_REG_SIZE * 4; in nfp_bpf_finalize()
Dmain.h541 struct nfp_bpf_subprog_info *subprog; member
Doffload.c182 kfree(nfp_prog->subprog); in nfp_prog_free()
Djit.c3315 if (nfp_prog->subprog[meta->jmp_dst->subprog_idx].needs_reg_push) { in bpf_to_bpf_call()
3391 if (nfp_prog->subprog[meta->subprog_idx].needs_reg_push) { in nfp_subprog_epilogue()
3611 nfp_prog->subprog[jmp_dst->subprog_idx].needs_reg_push) { in nfp_fixup_branches()
3649 unsigned int depth = nfp_prog->subprog[meta->subprog_idx].stack_depth; in nfp_start_subprog()
3755 if (nfp_prog->subprog[idx].needs_reg_push) in nfp_prog_needs_callee_reg_save()
3837 depth = nfp_prog->subprog[0].stack_depth; in nfp_translate()
/linux-6.12.1/kernel/bpf/
Dverifier.c421 static bool subprog_is_global(const struct bpf_verifier_env *env, int subprog) in subprog_is_global() argument
425 return aux && aux[subprog].linkage == BTF_FUNC_GLOBAL; in subprog_is_global()
428 static const char *subprog_name(const struct bpf_verifier_env *env, int subprog) in subprog_name() argument
435 info = &env->prog->aux->func_info[subprog]; in subprog_name()
439 static void mark_subprog_exc_cb(struct bpf_verifier_env *env, int subprog) in mark_subprog_exc_cb() argument
441 struct bpf_subprog_info *info = subprog_info(env, subprog); in mark_subprog_exc_cb()
448 static bool subprog_is_exc_cb(struct bpf_verifier_env *env, int subprog) in subprog_is_exc_cb() argument
450 return subprog_info(env, subprog)->is_exception_cb; in subprog_is_exc_cb()
2470 int subprog, bool is_sleepable) in push_async_cb() argument
2504 subprog /* subprog number within this prog */); in push_async_cb()
[all …]
Dbtf.c7362 int btf_prepare_func_args(struct bpf_verifier_env *env, int subprog) in btf_prepare_func_args() argument
7364 bool is_global = subprog_aux(env, subprog)->linkage == BTF_FUNC_GLOBAL; in btf_prepare_func_args()
7365 struct bpf_subprog_info *sub = subprog_info(env, subprog); in btf_prepare_func_args()
7383 btf_id = prog->aux->func_info[subprog].type_id; in btf_prepare_func_args()
7397 subprog); in btf_prepare_func_args()
7402 if (prog->aux->func_info_aux[subprog].unreliable) { in btf_prepare_func_args()
/linux-6.12.1/include/linux/
Dbpf_verifier.h789 static inline struct bpf_func_info_aux *subprog_aux(struct bpf_verifier_env *env, int subprog) in subprog_aux() argument
791 return &env->prog->aux->func_info_aux[subprog]; in subprog_aux()
794 static inline struct bpf_subprog_info *subprog_info(struct bpf_verifier_env *env, int subprog) in subprog_info() argument
796 return &env->subprog_info[subprog]; in subprog_info()
Dbpf.h2627 int btf_prepare_func_args(struct bpf_verifier_env *env, int subprog);
/linux-6.12.1/tools/lib/bpf/
Dlibbpf.c6284 static int append_subprog_relos(struct bpf_program *main_prog, struct bpf_program *subprog) in append_subprog_relos() argument
6286 int new_cnt = main_prog->nr_reloc + subprog->nr_reloc; in append_subprog_relos()
6290 if (main_prog == subprog) in append_subprog_relos()
6299 if (subprog->nr_reloc) in append_subprog_relos()
6300 memcpy(relos + main_prog->nr_reloc, subprog->reloc_desc, in append_subprog_relos()
6301 sizeof(*relos) * subprog->nr_reloc); in append_subprog_relos()
6304 relos[i].insn_idx += subprog->sub_insn_off; in append_subprog_relos()
6315 struct bpf_program *subprog) in bpf_object__append_subprog_code() argument
6321 subprog->sub_insn_off = main_prog->insns_cnt; in bpf_object__append_subprog_code()
6323 new_cnt = main_prog->insns_cnt + subprog->insns_cnt; in bpf_object__append_subprog_code()
[all …]
/linux-6.12.1/kernel/events/
Dcore.c9449 struct bpf_prog *subprog = prog->aux->func[i]; in perf_event_bpf_emit_ksymbols() local
9453 (u64)(unsigned long)subprog->bpf_func, in perf_event_bpf_emit_ksymbols()
9454 subprog->jited_len, unregister, in perf_event_bpf_emit_ksymbols()
9455 subprog->aux->ksym.name); in perf_event_bpf_emit_ksymbols()