| /linux/tools/testing/selftests/bpf/progs/ |
| H 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()
|
| H 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()
|
| H 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()
|
| H A D | exceptions.c | 158 __noinline static int subprog(struct __sk_buff *ctx) in subprog() function 187 return subprog(ctx); in exception_throw_subprog()
|
| H 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/ |
| H 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 = kzalloc_objs(nfp_prog->subprog[0], 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()
|
| H A D | main.h | 541 struct nfp_bpf_subprog_info *subprog; member
|
| H A D | offload.c | 180 kfree(nfp_prog->subprog); in nfp_prog_free()
|
| H 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/ |
| H A D | liveness.c | 181 struct bpf_subprog_info *subprog; in __lookup_instance() local 190 subprog = bpf_find_containing_subprog(env, callchain->sp_starts[callchain->curframe]); in __lookup_instance() 191 subprog_sz = (subprog + 1)->start - subprog->start; in __lookup_instance() 617 struct bpf_subprog_info *subprog; in update_instance() local 639 subprog = bpf_find_containing_subprog(env, this_subprog_start); in update_instance() 640 po_start = subprog->postorder_start; in update_instance() 641 po_end = (subprog + 1)->postorder_start; in update_instance()
|
| H A D | verifier.c | 440 static bool subprog_is_global(const struct bpf_verifier_env *env, int subprog) in subprog_is_global() argument 444 return aux && aux[subprog].linkage == BTF_FUNC_GLOBAL; in subprog_is_global() 447 static const char *subprog_name(const struct bpf_verifier_env *env, int subprog) in subprog_name() argument 454 info = &env->prog->aux->func_info[subprog]; in subprog_name() 458 static void mark_subprog_exc_cb(struct bpf_verifier_env *env, int subprog) in mark_subprog_exc_cb() argument 460 struct bpf_subprog_info *info = subprog_info(env, subprog); in mark_subprog_exc_cb() 467 static bool subprog_is_exc_cb(struct bpf_verifier_env *env, int subprog) in subprog_is_exc_cb() argument 469 return subprog_info(env, subprog)->is_exception_cb; in subprog_is_exc_cb() 3001 int subprog, bool is_sleepable) in push_async_cb() argument 3035 subprog /* subprog number within this prog */); in push_async_cb() [all …]
|
| H A D | btf.c | 7778 int btf_prepare_func_args(struct bpf_verifier_env *env, int subprog) in btf_prepare_func_args() argument 7780 bool is_global = subprog_aux(env, subprog)->linkage == BTF_FUNC_GLOBAL; in btf_prepare_func_args() 7781 struct bpf_subprog_info *sub = subprog_info(env, subprog); in btf_prepare_func_args() 7799 btf_id = prog->aux->func_info[subprog].type_id; in btf_prepare_func_args() 7813 subprog); in btf_prepare_func_args() 7818 if (prog->aux->func_info_aux[subprog].unreliable) { in btf_prepare_func_args()
|
| /linux/tools/lib/bpf/ |
| H A D | libbpf.c | 6627 static int append_subprog_relos(struct bpf_program *main_prog, struct bpf_program *subprog) in append_subprog_relos() argument 6629 int new_cnt = main_prog->nr_reloc + subprog->nr_reloc; in append_subprog_relos() 6633 if (main_prog == subprog) in append_subprog_relos() 6642 if (subprog->nr_reloc) in append_subprog_relos() 6643 memcpy(relos + main_prog->nr_reloc, subprog->reloc_desc, in append_subprog_relos() 6644 sizeof(*relos) * subprog->nr_reloc); in append_subprog_relos() 6647 relos[i].insn_idx += subprog->sub_insn_off; in append_subprog_relos() 6656 static int save_subprog_offsets(struct bpf_program *main_prog, struct bpf_program *subprog) in save_subprog_offsets() argument 6667 main_prog->subprogs[cnt].sec_insn_off = subprog->sec_insn_off; in save_subprog_offsets() 6668 main_prog->subprogs[cnt].sub_insn_off = subprog->sub_insn_off; in save_subprog_offsets() [all …]
|
| /linux/kernel/events/ |
| H A D | core.c | 10269 struct bpf_prog *subprog = prog->aux->func[i]; in perf_event_bpf_emit_ksymbols() local 10273 (u64)(unsigned long)subprog->bpf_func, in perf_event_bpf_emit_ksymbols() 10274 subprog->jited_len, unregister, in perf_event_bpf_emit_ksymbols() 10275 subprog->aux->ksym.name); in perf_event_bpf_emit_ksymbols()
|
| /linux/include/linux/ |
| H A D | bpf.h | 3020 int btf_prepare_func_args(struct bpf_verifier_env *env, int subprog);
|