| /linux/tools/testing/selftests/bpf/progs/ |
| A D | tc_bpf2bpf.c | 8 int subprog(struct __sk_buff *skb) in subprog() function 19 return subprog(skb); in entry_tc()
|
| A D | test_static_linked1.c | 15 static __noinline int subprog(int x) in subprog() function 24 var1 = subprog(rovar1) + static_var1 + static_var2; in handler1()
|
| A D | test_static_linked2.c | 15 static __noinline int subprog(int x) in subprog() function 24 var2 = subprog(rovar2) + static_var1 + static_var2; in handler2()
|
| A D | epilogue_tailcall.c | 12 static __noinline __used int subprog(struct st_ops_args *args) in subprog() function 21 subprog(args); in BPF_PROG()
|
| A D | linked_funcs1.c | 19 static __noinline int subprog(int x) in subprog() function 28 output_val1 = x + subprog(x); in set_output_val1()
|
| A D | linked_funcs2.c | 19 static __noinline int subprog(int x) in subprog() function 28 output_val2 = 2 * x + 2 * subprog(x); in set_output_val2()
|
| A D | exceptions.c | 158 __noinline static int subprog(struct __sk_buff *ctx) in subprog() function 187 return subprog(ctx); in exception_throw_subprog()
|
| A D | pro_epilogue.c | 17 static __noinline __used int subprog(struct st_ops_args *args) in subprog() function
|
| /linux/drivers/net/ethernet/netronome/nfp/bpf/ |
| A D | verifier.c | 686 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()
|
| A D | main.h | 541 struct nfp_bpf_subprog_info *subprog; member
|
| A D | offload.c | 182 kfree(nfp_prog->subprog); in nfp_prog_free()
|
| A D | jit.c | 3315 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/kernel/bpf/ |
| A D | verifier.c | 3889 if (subprog < 0) in backtrack_insn() 4604 for (i = subprog->start; i < (subprog + 1)->start; ++i) { in check_fastcall_stack_contract() 6169 if (subprog < 0) { in get_callee_stack_depth() 9771 if (subprog < 0) { in check_func_call() 16358 subprog->fastcall_stack_off = min(subprog->fastcall_stack_off, off); in mark_fastcall_pattern_for_call() 16371 for (i = subprog->start; i < (subprog + 1)->start; ++i) { in mark_fastcall_patterns() 16379 for (i = subprog->start; i < (subprog + 1)->start; ++i) { in mark_fastcall_patterns() 21465 subprog->stack_depth = -subprog->fastcall_stack_off; in remove_fastcall_spills_fills() 21466 subprog++; in remove_fastcall_spills_fills() 21530 subprog); in do_check_common() [all …]
|
| A D | btf.c | 7362 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/include/linux/ |
| A D | bpf_verifier.h | 789 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()
|
| A D | bpf.h | 2627 int btf_prepare_func_args(struct bpf_verifier_env *env, int subprog);
|
| /linux/tools/lib/bpf/ |
| A D | libbpf.c | 6290 if (main_prog == subprog) in append_subprog_relos() 6299 if (subprog->nr_reloc) in append_subprog_relos() 6332 memcpy(main_prog->insns + subprog->sub_insn_off, subprog->insns, in bpf_object__append_subprog_code() 6336 main_prog->name, subprog->insns_cnt, subprog->name); in bpf_object__append_subprog_code() 6350 struct bpf_program *subprog; in bpf_object__reloc_code() local 6410 if (!subprog) { in bpf_object__reloc_code() 6448 prog->name, insn_idx, insn->imm, subprog->name, subprog->sub_insn_off); in bpf_object__reloc_code() 6538 struct bpf_program *subprog; in bpf_object__relocate_calls() local 6545 subprog = &obj->programs[i]; in bpf_object__relocate_calls() 6549 subprog->sub_insn_off = 0; in bpf_object__relocate_calls() [all …]
|
| /linux/kernel/events/ |
| A D | core.c | 9449 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()
|