Home
last modified time | relevance | path

Searched refs:trampoline (Results 1 – 25 of 34) sorted by relevance

12

/linux/arch/x86/kernel/
H A Dftrace.c320 void *trampoline; in create_trampoline() local
349 trampoline = alloc_tramp(size + RET_SIZE + sizeof(void *)); in create_trampoline()
350 if (!trampoline) in create_trampoline()
357 ret = copy_from_kernel_nofault(trampoline, (void *)start_offset, size); in create_trampoline()
361 ip = trampoline + size; in create_trampoline()
370 ip = trampoline + (jmp_offset - start_offset); in create_trampoline()
382 text_poke_apply_relocation(trampoline, trampoline, size, in create_trampoline()
393 ptr = (unsigned long *)(trampoline + size + RET_SIZE); in create_trampoline()
397 memcpy(&op_ptr, trampoline + op_offset, OP_REF_SIZE); in create_trampoline()
405 offset -= (unsigned long)trampoline + op_offset + OP_REF_SIZE; in create_trampoline()
[all …]
/linux/arch/s390/kernel/
H A Dftrace.c81 static struct ftrace_hotpatch_trampoline *trampoline; in ftrace_init_nop() local
105 trampoline = (*next_trampoline)++; in ftrace_init_nop()
115 tmp.brasl_disp = (shared - (const char *)&trampoline->brasl_opc) / 2; in ftrace_init_nop()
118 s390_kernel_write(trampoline, &tmp, sizeof(tmp)); in ftrace_init_nop()
121 disp = ((char *)trampoline - (char *)rec->ip) / 2; in ftrace_init_nop()
130 struct ftrace_hotpatch_trampoline *trampoline; in ftrace_get_trampoline() local
138 trampoline = (void *)(rec->ip + disp); in ftrace_get_trampoline()
139 if (get_kernel_nofault(opc, &trampoline->brasl_opc)) in ftrace_get_trampoline()
143 return trampoline; in ftrace_get_trampoline()
176 struct ftrace_hotpatch_trampoline *trampoline; in ftrace_modify_trampoline_call() local
[all …]
/linux/Documentation/livepatch/
H A Dreliable-stacktrace.rst163 to intercept when that function returns with a return trampoline, e.g.
165 * An ftrace trampoline may modify the return address so that function graph
168 * A kprobes (or optprobes) trampoline may modify the return address so that
174 is altered by the trampoline, the unwinder may report the original return
175 address in place of the trampoline and report this as reliable. Otherwise, an
180 trampoline or return trampoline. For example, considering the x86_64
181 'return_to_handler' return trampoline:
213 trampoline moves this into rdi before jumping to it.
232 with a JMP instruction which targets the associated optprobe trampoline. When
233 the probe is hit, the CPU will branch to the optprobe trampoline, and the
[all …]
/linux/tools/testing/selftests/arm64/bti/
H A DMakefile38 $(OUTPUT)/trampoline-bti.o
49 $(OUTPUT)/trampoline-nobti.o
H A Dtest.c107 static void __do_test(void (*trampoline)(void (*)(void)), in __do_test()
125 trampoline(fn); in __do_test()
/linux/kernel/bpf/
H A Dtrampoline.c1047 if (!shim_link->trampoline) in bpf_shim_tramp_link_release()
1050 err = bpf_trampoline_unlink_prog(&shim_link->link.node, shim_link->trampoline, NULL); in bpf_shim_tramp_link_release()
1053 bpf_trampoline_put(shim_link->trampoline); in bpf_shim_tramp_link_release()
1170 shim_link->trampoline = tr; in bpf_trampoline_link_cgroup_shim()
1695 mnode->trampoline = tr; in bpf_trampoline_multi_attach()
1716 bpf_trampoline_multi_attach_init(mnode->trampoline); in bpf_trampoline_multi_attach()
1719 err = __bpf_trampoline_link_prog(&mnode->node, mnode->trampoline, NULL, in bpf_trampoline_multi_attach()
1744 bpf_trampoline_multi_attach_free(mnode->trampoline); in bpf_trampoline_multi_attach()
1753 bpf_trampoline_remove_prog(mnode->trampoline, &mnode->node); in bpf_trampoline_multi_attach()
1754 bpf_trampoline_multi_attach_rollback(mnode->trampoline); in bpf_trampoline_multi_attach()
[all …]
H A DMakefile17 obj-$(CONFIG_BPF_JIT) += trampoline.o
/linux/drivers/gpu/drm/i915/
H A Di915_cmd_parser.h23 bool trampoline);
H A Di915_cmd_parser.c1445 bool trampoline) in intel_engine_cmd_parser() argument
1470 if (!trampoline) in intel_engine_cmd_parser()
1534 if (trampoline) { in intel_engine_cmd_parser()
/linux/arch/powerpc/include/asm/
H A Dmodule.h81 int module_trampoline_target(struct module *mod, unsigned long trampoline,
/linux/arch/x86/include/asm/
H A Dboot.h96 void trampoline_32bit_src(void *trampoline, bool enable_5lvl);
/linux/arch/arm/boot/dts/intel/socfpga/
H A Dsocfpga_arria5.dtsi7 /* First 4KB has trampoline code for secondary cores. */
H A Dsocfpga_cyclone5.dtsi7 /* First 4KB has trampoline code for secondary cores. */
/linux/arch/hexagon/kernel/
H A DMakefile8 obj-y += process.o trampoline.o reset.o ptrace.o vdso.o
/linux/Documentation/admin-guide/
H A Dsyscall-user-dispatch.rst66 interface should make sure that at least the signal trampoline code is
68 trampoline code on the vDSO, that trampoline is never intercepted.
/linux/Documentation/arch/riscv/
H A Dcmodx.rst35 By fixing down the first instruction, AUIPC, the range of the ftrace trampoline
39 patchable function. The metadata is resolved at the first trampoline, then the
40 execution can be directed to another custom trampoline.
/linux/kernel/trace/
H A Dftrace.c1125 if (op->trampoline && op->trampoline_size) in ftrace_ops_trampoline()
1126 if (addr >= op->trampoline && in ftrace_ops_trampoline()
1127 addr < op->trampoline + op->trampoline_size) { in ftrace_ops_trampoline()
1856 if (ftrace_rec_count(rec) == 1 && ops->trampoline) in __ftrace_hash_rec_update()
2266 (void *)ops->trampoline, in ftrace_bug()
2485 if (!op->trampoline) in ftrace_find_tramp_ops_any()
2503 if (op == op_exclude || !op->trampoline) in ftrace_find_tramp_ops_any_other()
2521 if (!op->trampoline) in ftrace_find_tramp_ops_next()
2568 if (!op->trampoline) in ftrace_find_tramp_ops_curr()
2699 if (FTRACE_WARN_ON(!ops || !ops->trampoline)) { in ftrace_get_addr_new()
[all …]
H A Dbpf_trace.c3739 bpf_trampoline_unpack_key(mnode->trampoline->key, NULL, &id); in bpf_tracing_multi_link_fill_link_info()
3741 addr = show_addrs ? mnode->trampoline->ip : 0; in bpf_tracing_multi_link_fill_link_info()
3773 bpf_trampoline_unpack_key(mnode->trampoline->key, &obj_id, &btf_id); in bpf_tracing_multi_show_fdinfo()
3777 (void *) mnode->trampoline->ip); in bpf_tracing_multi_show_fdinfo()
/linux/Documentation/trace/
H A Dkprobes.rst113 the return address with the address of a "trampoline." The trampoline
115 At boot time, Kprobes registers a kprobe at the trampoline.
118 passes to the trampoline and that probe is hit. Kprobes' trampoline
216 - a call to the trampoline code which calls user's probe handlers.
584 address with the trampoline's address, stack backtraces and calls
585 to __builtin_return_address() will typically yield the trampoline's
/linux/tools/testing/selftests/bpf/
H A DREADME.rst31 trampoline support on IBM's s390x architecture. For cases like this, an in-tree
43 available, summarizes the underlying problem. A value of ``trampoline``, for
44 example, indicates that lack of trampoline support is causing the test to fail.
/linux/tools/testing/selftests/arm64/signal/
H A DREADME34 they are just fired using some simple included assembly trampoline code.
/linux/arch/x86/realmode/rm/
H A Dtrampoline_64.S159 # Setup trampoline 4 level pagetables
/linux/security/
H A Dlsm_init.c349 __static_call_update(scall->key, scall->trampoline, in lsm_static_call_init()
/linux/arch/loongarch/kernel/
H A Dunwind_orc.c135 offset = ip - ops->trampoline; in orc_ftrace_find()
/linux/arch/sh/mm/
H A DKconfig111 From the kernel side this is used for the signal trampoline.

12