/kernel/linux/linux-6.6/arch/s390/kernel/ |
H A D | ftrace.c | 43 * trampoline (ftrace_plt), which clobbers also r1. 83 static struct ftrace_hotpatch_trampoline *trampoline; in ftrace_init_nop() local 107 trampoline = (*next_trampoline)++; in ftrace_init_nop() 113 /* Generate the 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() 120 /* Generate a jump to the trampoline. */ 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 in ftrace_get_trampoline() 149 struct ftrace_hotpatch_trampoline *trampoline; ftrace_modify_call() local 187 struct ftrace_hotpatch_trampoline *trampoline; ftrace_make_call() local [all...] |
H A D | uprobes.c | 144 unsigned long arch_uretprobe_hijack_return_addr(unsigned long trampoline, in arch_uretprobe_hijack_return_addr() argument 150 regs->gprs[14] = trampoline; in arch_uretprobe_hijack_return_addr()
|
/kernel/linux/linux-5.10/arch/x86/kernel/ |
H A D | ftrace.c | 300 * trampoline only services a single ftrace_ops, we can pass in 328 void *trampoline; in create_trampoline() local 355 * trampoline is used for. in create_trampoline() 357 trampoline = alloc_tramp(size + RET_SIZE + sizeof(void *)); in create_trampoline() 358 if (!trampoline) in create_trampoline() 364 /* Copy ftrace_caller onto the trampoline memory */ in create_trampoline() 365 ret = copy_from_kernel_nofault(trampoline, (void *)start_offset, size); in create_trampoline() 369 ip = trampoline + size; in create_trampoline() 371 /* The trampoline ends with ret(q) */ in create_trampoline() 380 ip = trampoline in create_trampoline() [all...] |
/kernel/linux/linux-6.6/arch/x86/kernel/ |
H A D | ftrace.c | 73 * No need to translate into a callthunk. The trampoline does in ftrace_call_replace() 296 * trampoline only services a single ftrace_ops, we can pass in 324 void *trampoline; in create_trampoline() local 351 * trampoline is used for. in create_trampoline() 353 trampoline = alloc_tramp(size + RET_SIZE + sizeof(void *)); in create_trampoline() 354 if (!trampoline) in create_trampoline() 360 /* Copy ftrace_caller onto the trampoline memory */ in create_trampoline() 361 ret = copy_from_kernel_nofault(trampoline, (void *)start_offset, size); in create_trampoline() 365 ip = trampoline + size; in create_trampoline() 374 ip = trampoline in create_trampoline() [all...] |
/kernel/linux/linux-6.6/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()
|
/kernel/linux/linux-6.6/arch/x86/boot/compressed/ |
H A D | pgtable.h | 13 extern void trampoline_32bit_src(void *trampoline, bool enable_5lvl);
|
/kernel/linux/linux-6.6/drivers/gpu/drm/i915/ |
H A D | i915_cmd_parser.h | 23 bool trampoline);
|
H A D | i915_cmd_parser.c | 1431 * @trampoline: true if we need to trampoline into privileged execution 1445 bool trampoline) in intel_engine_cmd_parser() 1470 if (!trampoline) in intel_engine_cmd_parser() 1534 if (trampoline) { in intel_engine_cmd_parser() 1536 * With the trampoline, the shadow is executed twice. in intel_engine_cmd_parser() 1440 intel_engine_cmd_parser(struct intel_engine_cs *engine, struct i915_vma *batch, unsigned long batch_offset, unsigned long batch_length, struct i915_vma *shadow, bool trampoline) intel_engine_cmd_parser() argument
|
/kernel/linux/linux-5.10/arch/powerpc/include/asm/ |
H A D | module.h | 76 int module_trampoline_target(struct module *mod, unsigned long trampoline,
|
/kernel/linux/linux-6.6/arch/powerpc/include/asm/ |
H A D | module.h | 78 int module_trampoline_target(struct module *mod, unsigned long trampoline,
|
/kernel/linux/linux-5.10/arch/hexagon/kernel/ |
H A D | Makefile | 7 obj-y += process.o trampoline.o reset.o ptrace.o vdso.o
|
/kernel/linux/linux-6.6/arch/hexagon/kernel/ |
H A D | Makefile | 8 obj-y += process.o trampoline.o reset.o ptrace.o vdso.o
|
/kernel/linux/linux-6.6/kernel/trace/ |
H A D | ftrace.c | 134 * Stub used to invoke the list ops without requiring a separate trampoline. 226 * then have the mcount trampoline call the function directly. in update_ftrace_function() 1092 if (op->trampoline && op->trampoline_size) in ftrace_ops_trampoline() 1093 if (addr >= op->trampoline && in ftrace_ops_trampoline() 1094 addr < op->trampoline + op->trampoline_size) { in ftrace_ops_trampoline() 1106 * address is on a dynamically allocated trampoline that would 1788 * function, and the ops has a trampoline registered in __ftrace_hash_rec_update() 1791 if (ftrace_rec_count(rec) == 1 && ops->trampoline) in __ftrace_hash_rec_update() 1797 * custom trampoline in use, then we need to go in __ftrace_hash_rec_update() 1798 * back to the default trampoline in __ftrace_hash_rec_update() 7271 unsigned long trampoline = ops->trampoline; ftrace_update_trampoline() local [all...] |
/kernel/linux/linux-5.10/kernel/trace/ |
H A D | ftrace.c | 198 * then have the mcount trampoline call the function directly. in update_ftrace_function() 1067 if (op->trampoline && op->trampoline_size) in ftrace_ops_trampoline() 1068 if (addr >= op->trampoline && in ftrace_ops_trampoline() 1069 addr < op->trampoline + op->trampoline_size) { in ftrace_ops_trampoline() 1081 * address is on a dynamically allocated trampoline that would 1733 * function, and the ops has a trampoline registered in __ftrace_hash_rec_update() 1736 if (ftrace_rec_count(rec) == 1 && ops->trampoline) in __ftrace_hash_rec_update() 1742 * custom trampoline in use, then we need to go in __ftrace_hash_rec_update() 1743 * back to the default trampoline. in __ftrace_hash_rec_update() 1783 * left has a trampoline in __ftrace_hash_rec_update() 6936 unsigned long trampoline = ops->trampoline; ftrace_update_trampoline() local [all...] |
/kernel/linux/linux-5.10/drivers/gpu/drm/i915/gem/ |
H A D | i915_gem_execbuffer.c | 249 struct i915_vma *trampoline; /** trampoline used for chaining */ member 2289 struct i915_vma *shadow, *trampoline, *batch; in eb_parse() local 2337 trampoline = NULL; in eb_parse() 2339 trampoline = shadow; in eb_parse() 2346 shadow = trampoline; in eb_parse() 2364 shadow, trampoline); in eb_parse() 2372 eb->trampoline = trampoline; in eb_parse() 2387 if (trampoline) in eb_parse() [all...] |
/kernel/linux/linux-6.6/kernel/bpf/ |
H A D | trampoline.c | 46 /* Instead of updating the trampoline here, we propagate in bpf_tramp_ftrace_ops_func() 49 * trampoline. in bpf_tramp_ftrace_ops_func() 73 * (something else is making changes to this same trampoline). in bpf_tramp_ftrace_ops_func() 297 /* the case of fmod_ret/fexit trampoline and CONFIG_PREEMPTION=y */ in __bpf_tramp_image_put_rcu_tasks() 300 /* the case of fentry trampoline */ in __bpf_tramp_image_put_rcu_tasks() 306 /* The trampoline image that calls original function is using: in bpf_tramp_image_put() 309 * percpu_ref to protect trampoline itself in bpf_tramp_image_put() 310 * rcu tasks to protect trampoline asm not covered by percpu_ref in bpf_tramp_image_put() 314 * The trampoline is unreachable before bpf_tramp_image_put(). in bpf_tramp_image_put() 316 * First, patch the trampoline t in bpf_tramp_image_put() [all...] |
H A D | Makefile | 16 obj-$(CONFIG_BPF_JIT) += trampoline.o
|
/kernel/linux/linux-5.10/kernel/bpf/ |
H A D | Makefile | 14 obj-$(CONFIG_BPF_JIT) += trampoline.o
|
/kernel/linux/linux-6.6/drivers/gpu/drm/i915/gem/ |
H A D | i915_gem_execbuffer.c | 261 struct i915_vma *trampoline; /** trampoline used for chaining */ member 2288 struct i915_vma *shadow, *trampoline, *batch; in eb_parse() local 2340 trampoline = NULL; in eb_parse() 2342 trampoline = shadow; in eb_parse() 2367 shadow, trampoline); in eb_parse() 2375 eb->trampoline = trampoline; in eb_parse() 2426 if (eb->trampoline) { in eb_request_submit() 2430 i915_vma_offset(eb->trampoline) in eb_request_submit() [all...] |
/kernel/linux/linux-5.10/arch/x86/realmode/rm/ |
H A D | trampoline_64.S | 11 * trampoline page to make our stack and everything else 141 # Setup trampoline 4 level pagetables
|
/kernel/linux/linux-5.10/arch/s390/kernel/ |
H A D | uprobes.c | 143 unsigned long arch_uretprobe_hijack_return_addr(unsigned long trampoline, in arch_uretprobe_hijack_return_addr() argument 149 regs->gprs[14] = trampoline; in arch_uretprobe_hijack_return_addr()
|
H A D | kprobes.c | 253 /* Replace the return addr with trampoline addr */ in arch_prepare_kretprobe() 339 * Function return probe trampoline: 351 * Called when the probe at kretprobe trampoline is hit 536 static struct kprobe trampoline = { variable 543 return register_kprobe(&trampoline); in arch_init_kprobes()
|
/kernel/linux/linux-6.6/arch/x86/realmode/rm/ |
H A D | trampoline_64.S | 11 * trampoline page to make our stack and everything else 157 # Setup trampoline 4 level pagetables
|
/kernel/linux/linux-5.10/drivers/gpu/drm/i915/ |
H A D | i915_cmd_parser.c | 1414 * @trampoline: whether to emit a conditional trampoline at the end of the batch 1428 bool trampoline) in intel_engine_cmd_parser() 1451 if (!trampoline) in intel_engine_cmd_parser() 1515 if (trampoline) { in intel_engine_cmd_parser() 1517 * With the trampoline, the shadow is executed twice. in intel_engine_cmd_parser() 1423 intel_engine_cmd_parser(struct intel_engine_cs *engine, struct i915_vma *batch, unsigned long batch_offset, unsigned long batch_length, struct i915_vma *shadow, bool trampoline) intel_engine_cmd_parser() argument
|