| /linux/arch/x86/kernel/ |
| H A D | ftrace.c | 320 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 D | ftrace.c | 81 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 D | reliable-stacktrace.rst | 163 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 D | Makefile | 38 $(OUTPUT)/trampoline-bti.o 49 $(OUTPUT)/trampoline-nobti.o
|
| H A D | test.c | 107 static void __do_test(void (*trampoline)(void (*)(void)), in __do_test() 125 trampoline(fn); in __do_test()
|
| /linux/drivers/gpu/drm/i915/ |
| H A D | i915_cmd_parser.h | 23 bool trampoline);
|
| H A D | i915_cmd_parser.c | 1445 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/Documentation/admin-guide/ |
| H A D | syscall-user-dispatch.rst | 66 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 D | cmodx.rst | 35 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/arch/powerpc/include/asm/ |
| H A D | module.h | 81 int module_trampoline_target(struct module *mod, unsigned long trampoline,
|
| /linux/kernel/trace/ |
| H A D | ftrace.c | 134 * Stub used to invoke the list ops without requiring a separate trampoline. 228 * then have the mcount trampoline call the function directly. in update_ftrace_function() 1119 if (op->trampoline && op->trampoline_size) in ftrace_ops_trampoline() 1120 if (addr >= op->trampoline && in ftrace_ops_trampoline() 1121 addr < op->trampoline + op->trampoline_size) { in ftrace_ops_trampoline() 1133 * address is on a dynamically allocated trampoline that would 1847 * function, and the ops has a trampoline registered in __ftrace_hash_rec_update() 1850 if (ftrace_rec_count(rec) == 1 && ops->trampoline) in __ftrace_hash_rec_update() 1856 * custom trampoline in use, then we need to go in __ftrace_hash_rec_update() 1857 * back to the default trampoline in __ftrace_hash_rec_update() 8393 unsigned long trampoline = ops->trampoline; ftrace_update_trampoline() local [all...] |
| H A D | fgraph.c | 1007 .trampoline = FTRACE_GRAPH_TRAMP_ADDR,
|
| /linux/arch/x86/include/asm/ |
| H A D | boot.h | 96 void trampoline_32bit_src(void *trampoline, bool enable_5lvl);
|
| /linux/arch/arm/boot/dts/intel/socfpga/ |
| H A D | socfpga_arria5.dtsi | 7 /* First 4KB has trampoline code for secondary cores. */
|
| H A D | socfpga_cyclone5.dtsi | 7 /* First 4KB has trampoline code for secondary cores. */
|
| /linux/arch/hexagon/kernel/ |
| H A D | Makefile | 8 obj-y += process.o trampoline.o reset.o ptrace.o vdso.o
|
| /linux/drivers/gpu/drm/i915/gem/ |
| H A D | i915_gem_execbuffer.c | 262 struct i915_vma *trampoline; /** trampoline used for chaining */ member 2267 struct i915_vma *shadow, *trampoline, *batch; in eb_parse() 2319 trampoline = NULL; in eb_parse() 2321 trampoline = shadow; in eb_parse() 2346 shadow, trampoline); in eb_parse() 2354 eb->trampoline = trampoline; in eb_parse() 2405 if (eb->trampoline) { in eb_request_submit() 2409 i915_vma_offset(eb->trampoline) in eb_request_submit() 2269 struct i915_vma *shadow, *trampoline, *batch; eb_parse() local [all...] |
| /linux/Documentation/trace/ |
| H A D | kprobes.rst | 113 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/kernel/bpf/ |
| H A D | trampoline.c | 30 /* serializes access to trampoline tables */ 34 * Keep 32 trampoline locks (5 bits) in the pool so trampoline_lock_all() 110 * trampoline's mutex is already locked. in bpf_tramp_ftrace_ops_func() 114 /* Instead of updating the trampoline here, we propagate in bpf_tramp_ftrace_ops_func() 117 * trampoline. in bpf_tramp_ftrace_ops_func() 294 * We allocate ftrace_ops object for each trampoline and it contains 295 * call site specific for that trampoline. in direct_ops_mod() 575 /* the case of fmod_ret/fexit trampoline and CONFIG_PREEMPTION=y */ in bpf_tramp_image_alloc() 578 /* the case of fentry trampoline */ in bpf_tramp_image_alloc() 584 /* The trampoline imag in bpf_tramp_image_alloc() [all...] |
| /linux/tools/testing/selftests/bpf/ |
| H A D | README.rst | 31 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 D | README | 34 they are just fired using some simple included assembly trampoline code.
|
| /linux/arch/x86/realmode/rm/ |
| H A D | trampoline_64.S | 159 # Setup trampoline 4 level pagetables
|
| /linux/security/ |
| H A D | lsm_init.c | 349 __static_call_update(scall->key, scall->trampoline, in lsm_static_call_init()
|
| /linux/arch/loongarch/kernel/ |
| H A D | unwind_orc.c | 135 offset = ip - ops->trampoline; in orc_ftrace_find()
|
| /linux/arch/sh/mm/ |
| H A D | Kconfig | 111 From the kernel side this is used for the signal trampoline.
|