| /linux/tools/testing/selftests/bpf/prog_tests/ |
| H A D | tramp_prog_detach.c | 20 bool fexit, bool sleepable) in pick_prog() argument 22 if (fexit) in pick_prog() 40 static struct tramp_prog_detach *load_one(bool fexit, bool sleepable) in load_one() argument 49 bpf_program__set_autoload(pick_prog(skel, fexit, sleepable), true); in load_one()
|
| H A D | trace_ext.c | 79 prog = skel_trace->progs.fexit; in test_trace_ext()
|
| H A D | tailcalls.c | 316 prog = bpf_object__find_program_by_name(fexit_obj, "fexit"); in test_tailcall_count() 317 if (!ASSERT_OK_PTR(prog, "find fexit prog")) in test_tailcall_count() 381 ASSERT_OK(err, "fexit count"); in test_tailcall_count() 382 ASSERT_EQ(val, 33, "fexit count"); in test_tailcall_count() 1002 * bpf2bpf call, and the bpf2bpf call is traced by fexit. in test_tailcall_bpf2bpf_fexit() 1011 * with bpf2bpf call, and the bpf2bpf call is traced by both fentry and fexit. in test_tailcall_bpf2bpf_fentry_fexit() 1330 prog = bpf_object__find_program_by_name(fexit_obj, "fexit"); in test_tailcall_hierarchy_count() 1331 if (!ASSERT_OK_PTR(prog, "find fexit prog")) in test_tailcall_hierarchy_count() 1391 ASSERT_OK(err, "fexit count"); in test_tailcall_hierarchy_count() 1392 ASSERT_EQ(val, 68, "fexit coun in test_tailcall_hierarchy_count() [all...] |
| /linux/tools/testing/selftests/bpf/progs/ |
| H A D | tailcall_bpf2bpf_fexit.c | 11 int BPF_PROG(fexit, struct sk_buff *skb) in BPF_PROG() argument
|
| H A D | test_trace_ext_tracing.c | 19 int BPF_PROG(fexit, struct sk_buff *skb) in BPF_PROG() argument
|
| /linux/tools/testing/selftests/bpf/benchs/ |
| H A D | run_bench_rename.sh | 5 for i in base kprobe kretprobe rawtp fentry fexit
|
| H A D | run_bench_trigger.sh | 7 fentry fexit fmodret \
|
| H A D | bench_trigger.c | 637 BENCH_TRIG_KERNEL(fexit, "fexit");
|
| /linux/tools/testing/selftests/bpf/ |
| H A D | test_ftrace.sh | 38 ./test_progs -t fexit
|
| /linux/kernel/bpf/ |
| H A D | trampoline.c | 580 /* callback, fexit step 3 or fentry step 2 */ in __bpf_tramp_image_put_deferred() 590 /* callback, fexit step 2. Called after percpu_ref_kill confirms. */ in __bpf_tramp_image_put_rcu() 599 /* callback, fexit or fentry step 1 */ in __bpf_tramp_image_release() 606 /* the case of fmod_ret/fexit trampoline and CONFIG_PREEMPTION=y */ 649 /* The trampoline without fexit and fmod_ret progs doesn't call original in bpf_tramp_image_put() 879 return &link->fexit; 896 struct bpf_tramp_node *node_existing, *fexit; in fsession_exit() 922 fexit = fsession_exit(node); in bpf_trampoline_add_prog() 923 if (WARN_ON_ONCE(!fexit)) in bpf_trampoline_add_prog() 925 hlist_add_head(&fexit in bpf_trampoline_add_prog() 903 struct bpf_tramp_node *node_existing, *fexit; bpf_trampoline_add_prog() local 979 struct bpf_tramp_node *fexit; bpf_trampoline_remove_prog() local [all...] |
| H A D | syscall.c | 3753 link->fexit.link = &link->link.link; in bpf_tracing_prog_attach() 3754 link->fexit.cookie = bpf_cookie; in bpf_tracing_prog_attach()
|
| /linux/arch/powerpc/net/ |
| H A D | bpf_jit_comp.c | 769 * start of the fexit invocation) is finalized. in bpf_trampoline_restore_tail_call_cnt() 877 struct bpf_tramp_nodes *fexit = &tnodes[BPF_TRAMP_FEXIT]; in __arch_prepare_bpf_trampoline() 1168 for (i = 0; i < fexit->nr_nodes; i++) { in __arch_prepare_bpf_trampoline() 1169 if (bpf_prog_calls_session_cookie(fexit->nodes[i])) { in __arch_prepare_bpf_trampoline() 1176 if (invoke_bpf_prog(image, ro_image, ctx, im, fexit->nodes[i], regs_off, in __arch_prepare_bpf_trampoline() 830 struct bpf_tramp_nodes *fexit = &tnodes[BPF_TRAMP_FEXIT]; __arch_prepare_bpf_trampoline() local
|
| /linux/tools/bpf/bpftool/Documentation/ |
| H A D | bpftool-prog.rst | 58 | **struct_ops** | **fentry** | **fexit** | **fsession** | **freplace** | **sk_lookup** 160 other feature relying on BTF (such as fentry/fexit programs, struct_ops)
|
| /linux/arch/riscv/net/ |
| H A D | bpf_jit_comp64.c | 1071 struct bpf_tramp_nodes *fexit = &tnodes[BPF_TRAMP_FEXIT]; in __arch_prepare_bpf_trampoline() 1299 if (fexit->nr_nodes) { in __arch_prepare_bpf_trampoline() 1300 ret = invoke_bpf(im, fexit, args_off, retval_off, run_ctx_off, func_meta_off, in __arch_prepare_bpf_trampoline() 1032 struct bpf_tramp_nodes *fexit = &tnodes[BPF_TRAMP_FEXIT]; __arch_prepare_bpf_trampoline() local
|
| /linux/arch/arm64/net/ |
| H A D | bpf_jit_comp.c | 2908 struct bpf_tramp_nodes *fexit = &tnodes[BPF_TRAMP_FEXIT]; in prepare_trampoline() 3115 for (i = 0; i < fexit->nr_nodes; i++) { 3116 if (bpf_prog_calls_session_cookie(fexit->nodes[i])) { 3122 invoke_bpf_prog(ctx, im, fexit->nodes[i], bargs_off, retval_off, 2712 struct bpf_tramp_nodes *fexit = &tnodes[BPF_TRAMP_FEXIT]; prepare_trampoline() local
|
| /linux/arch/loongarch/net/ |
| H A D | bpf_jit.c | 1871 struct bpf_tramp_nodes *fexit = &tnodes[BPF_TRAMP_FEXIT]; in __arch_prepare_bpf_trampoline() local 2094 if (fexit->nr_nodes) { in __arch_prepare_bpf_trampoline() 2095 ret = invoke_bpf(ctx, im, fexit, args_off, retval_off, run_ctx_off, in __arch_prepare_bpf_trampoline()
|
| /linux/arch/x86/net/ |
| H A D | bpf_jit_comp.c | 4324 * start of the fexit invocation) is finalized. in bpf_jit_supports_insn() 4409 struct bpf_tramp_nodes *fexit = &tnodes[BPF_TRAMP_FEXIT]; 4651 if (fexit->nr_nodes) { 4652 if (invoke_bpf(m, &prog, im, fexit, regs_off, run_ctx_off, func_meta_off, 3477 struct bpf_tramp_nodes *fexit = &tnodes[BPF_TRAMP_FEXIT]; __arch_prepare_bpf_trampoline() local
|
| /linux/arch/s390/net/ |
| H A D | bpf_jit_comp.c | 2703 struct bpf_tramp_nodes *fexit = &tnodes[BPF_TRAMP_FEXIT]; in __arch_prepare_bpf_trampoline() 2957 if (invoke_bpf(tjit, im, m, fexit, false, func_meta, cookie_off)) in __arch_prepare_bpf_trampoline() 2691 struct bpf_tramp_nodes *fexit = &tnodes[BPF_TRAMP_FEXIT]; __arch_prepare_bpf_trampoline() local
|
| /linux/include/linux/ |
| H A D | bpf.h | 1275 * fexit progs. 1278 /* Call original function after fentry progs, but before fexit progs. 1279 * Makes sense for fentry/fexit, normal calls and indirect calls. 1282 /* Skip current frame and return to parent. Makes sense for fentry/fexit 1294 * Makes sense for trampolines with fexit or fmod_ret programs. 1362 * fexit = a set of program to run after original function 1371 * fexit = a set of program to run after original function 2115 struct bpf_tramp_node fexit; 2021 struct bpf_tramp_node fexit; global() member
|