/linux/kernel/bpf/ |
H A D | trampoline.c | 232 struct bpf_tramp_links *tlinks; in bpf_trampoline_get_progs() local 237 tlinks = kcalloc(BPF_TRAMP_MAX, sizeof(*tlinks), GFP_KERNEL); in bpf_trampoline_get_progs() 238 if (!tlinks) in bpf_trampoline_get_progs() 244 links = tlinks[kind].links; in bpf_trampoline_get_progs() 251 return tlinks; in bpf_trampoline_get_progs() 396 struct bpf_tramp_links *tlinks; in bpf_trampoline_update() local 402 if (IS_ERR(tlinks)) in bpf_trampoline_update() 403 return PTR_ERR(tlinks); in bpf_trampoline_update() 436 tlinks, tr->func.addr); in bpf_trampoline_update() 496 kfree(tlinks); in bpf_trampoline_update() [all …]
|
H A D | bpf_struct_ops.c | 541 int bpf_struct_ops_prepare_trampoline(struct bpf_tramp_links *tlinks, in bpf_struct_ops_prepare_trampoline() argument 552 tlinks[BPF_TRAMP_FENTRY].links[0] = link; in bpf_struct_ops_prepare_trampoline() 553 tlinks[BPF_TRAMP_FENTRY].nr_links = 1; in bpf_struct_ops_prepare_trampoline() 558 size = arch_bpf_trampoline_size(model, flags, tlinks, NULL); in bpf_struct_ops_prepare_trampoline() 575 model, flags, tlinks, stub_func); in bpf_struct_ops_prepare_trampoline() 597 struct bpf_tramp_links *tlinks; in bpf_struct_ops_map_update_elem() local 621 tlinks = kcalloc(BPF_TRAMP_MAX, sizeof(*tlinks), GFP_KERNEL); in bpf_struct_ops_map_update_elem() 622 if (!tlinks) in bpf_struct_ops_map_update_elem() 718 err = bpf_struct_ops_prepare_trampoline(tlinks, link, in bpf_struct_ops_map_update_elem() 789 kfree(tlinks); in bpf_struct_ops_map_update_elem()
|
/linux/net/bpf/ |
H A D | bpf_dummy_struct_ops.c | 135 struct bpf_tramp_links *tlinks = NULL; in bpf_struct_ops_test_run() local 161 tlinks = kcalloc(BPF_TRAMP_MAX, sizeof(*tlinks), GFP_KERNEL); in bpf_struct_ops_test_run() 162 if (!tlinks) { in bpf_struct_ops_test_run() 177 err = bpf_struct_ops_prepare_trampoline(tlinks, link, in bpf_struct_ops_test_run() 200 kfree(tlinks); in bpf_struct_ops_test_run()
|
/linux/arch/s390/net/ |
H A D | bpf_jit_comp.c | 2349 struct bpf_tramp_links *tlinks, in __arch_prepare_bpf_trampoline() argument 2352 struct bpf_tramp_links *fmod_ret = &tlinks[BPF_TRAMP_MODIFY_RETURN]; in __arch_prepare_bpf_trampoline() 2353 struct bpf_tramp_links *fentry = &tlinks[BPF_TRAMP_FENTRY]; in __arch_prepare_bpf_trampoline() 2354 struct bpf_tramp_links *fexit = &tlinks[BPF_TRAMP_FEXIT]; in __arch_prepare_bpf_trampoline() 2644 struct bpf_tramp_links *tlinks, void *orig_call) in arch_bpf_trampoline_size() argument 2653 tlinks, orig_call); in arch_bpf_trampoline_size() 2660 u32 flags, struct bpf_tramp_links *tlinks, in arch_prepare_bpf_trampoline() argument 2669 tlinks, func_addr); in arch_prepare_bpf_trampoline() 2683 tlinks, func_addr); in arch_prepare_bpf_trampoline()
|
/linux/arch/riscv/net/ |
H A D | bpf_jit_comp64.c | 778 struct bpf_tramp_links *tlinks, in __arch_prepare_bpf_trampoline() argument 786 struct bpf_tramp_links *fentry = &tlinks[BPF_TRAMP_FENTRY]; in __arch_prepare_bpf_trampoline() 787 struct bpf_tramp_links *fexit = &tlinks[BPF_TRAMP_FEXIT]; in __arch_prepare_bpf_trampoline() 788 struct bpf_tramp_links *fmod_ret = &tlinks[BPF_TRAMP_MODIFY_RETURN]; in __arch_prepare_bpf_trampoline() 1027 struct bpf_tramp_links *tlinks, void *func_addr) in arch_bpf_trampoline_size() argument 1036 ret = __arch_prepare_bpf_trampoline(&im, m, tlinks, func_addr, flags, &ctx); in arch_bpf_trampoline_size() 1043 u32 flags, struct bpf_tramp_links *tlinks, in arch_prepare_bpf_trampoline() argument 1059 ret = __arch_prepare_bpf_trampoline(im, m, tlinks, func_addr, flags, &ctx); in arch_prepare_bpf_trampoline()
|
/linux/arch/arm64/net/ |
H A D | bpf_jit_comp.c | 2030 struct bpf_tramp_links *tlinks, void *func_addr, in prepare_trampoline() argument 2042 struct bpf_tramp_links *fentry = &tlinks[BPF_TRAMP_FENTRY]; in prepare_trampoline() 2043 struct bpf_tramp_links *fexit = &tlinks[BPF_TRAMP_FEXIT]; in prepare_trampoline() 2044 struct bpf_tramp_links *fmod_ret = &tlinks[BPF_TRAMP_MODIFY_RETURN]; in prepare_trampoline() 2241 struct bpf_tramp_links *tlinks, void *func_addr) in arch_bpf_trampoline_size() argument 2255 ret = prepare_trampoline(&ctx, &im, tlinks, func_addr, nregs, flags); in arch_bpf_trampoline_size() 2279 u32 flags, struct bpf_tramp_links *tlinks, in arch_prepare_bpf_trampoline() argument 2305 ret = prepare_trampoline(&ctx, im, tlinks, func_addr, nregs, flags); in arch_prepare_bpf_trampoline()
|
/linux/arch/x86/net/ |
H A D | bpf_jit_comp.c | 2779 struct bpf_tramp_links *tlinks, in __arch_prepare_bpf_trampoline() argument 2784 struct bpf_tramp_links *fentry = &tlinks[BPF_TRAMP_FENTRY]; in __arch_prepare_bpf_trampoline() 2785 struct bpf_tramp_links *fexit = &tlinks[BPF_TRAMP_FEXIT]; in __arch_prepare_bpf_trampoline() 2786 struct bpf_tramp_links *fmod_ret = &tlinks[BPF_TRAMP_MODIFY_RETURN]; in __arch_prepare_bpf_trampoline() 3073 struct bpf_tramp_links *tlinks, in arch_prepare_bpf_trampoline() argument 3088 flags, tlinks, func_addr); in arch_prepare_bpf_trampoline() 3101 struct bpf_tramp_links *tlinks, void *func_addr) in arch_bpf_trampoline_size() argument 3119 m, flags, tlinks, func_addr); in arch_bpf_trampoline_size()
|
/linux/include/linux/ |
H A D | bpf.h | 1125 struct bpf_tramp_links *tlinks, 1131 struct bpf_tramp_links *tlinks, void *func_addr); 1799 int bpf_struct_ops_prepare_trampoline(struct bpf_tramp_links *tlinks,
|