| /linux/arch/arm64/kernel/ |
| H A D | static_call.c | 7 void arch_static_call_transform(void *site, void *tramp, void *func, bool tail) in arch_static_call_transform() argument 16 literal = ALIGN_DOWN((u64)tramp + 4, SZ_4K) + in arch_static_call_transform() 17 aarch64_insn_adrp_get_offset(le32_to_cpup(tramp + 4)) + in arch_static_call_transform() 19 le32_to_cpup(tramp + 8)); in arch_static_call_transform()
|
| H A D | module-plts.c | 286 Elf_Shdr *pltsec, *tramp = NULL, *init_tramp = NULL; in module_frob_arch_sections() local 300 tramp = sechdrs + i; in module_frob_arch_sections() 362 if (tramp) { in module_frob_arch_sections() 363 tramp->sh_type = SHT_NOBITS; in module_frob_arch_sections() 364 tramp->sh_flags = SHF_EXECINSTR | SHF_ALLOC; in module_frob_arch_sections() 365 tramp->sh_addralign = __alignof__(struct plt_entry); in module_frob_arch_sections() 366 tramp->sh_size = NR_FTRACE_PLTS * sizeof(struct plt_entry); in module_frob_arch_sections()
|
| /linux/arch/powerpc/kernel/trace/ |
| H A D | ftrace.c | 141 return (addr == (unsigned long)ftrace_caller ? mod->arch.tramp : mod->arch.tramp_regs); in ftrace_lookup_module_stub() 278 mod->arch.tramp, 1); in ftrace_init_ool_stub() 598 static void __init add_ftrace_tramp(unsigned long tramp) in add_ftrace_tramp() argument 604 ftrace_tramps[i] = tramp; in add_ftrace_tramp() 611 unsigned int *tramp[] = { ftrace_tramp_text, ftrace_tramp_init }; in ftrace_dyn_arch_init() local 638 reladdr = addr - (unsigned long)tramp[i]; in ftrace_dyn_arch_init() 646 memcpy(tramp[i], stub_insns, sizeof(stub_insns)); in ftrace_dyn_arch_init() 647 tramp[i][0] |= IMM_H18(reladdr); in ftrace_dyn_arch_init() 648 tramp[i][1] |= IMM_L(reladdr); in ftrace_dyn_arch_init() 649 add_ftrace_tramp((unsigned long)tramp[i]); in ftrace_dyn_arch_init() [all …]
|
| /linux/arch/x86/hyperv/ |
| H A D | hv_crash.c | 453 struct hv_crash_tramp_data *tramp; in hv_crash_setup_trampdata() local 475 tramp = (struct hv_crash_tramp_data *)dest; in hv_crash_setup_trampdata() 480 tramp->tramp32_cr3 = __sme_pa(hv_crash_ptpgs[0]); in hv_crash_setup_trampdata() 483 tramp->kernel_cr3 = __sme_pa(init_mm.pgd); in hv_crash_setup_trampdata() 485 tramp->gdtr32.limit = sizeof(struct hv_crash_tramp_gdt); in hv_crash_setup_trampdata() 486 tramp->gdtr32.address = trampoline_pa + in hv_crash_setup_trampdata() 487 (ulong)&tramp->tramp_gdt - trampoline_va; in hv_crash_setup_trampdata() 490 tramp->tramp_gdt.cs64 = 0x00af9a000000ffff; in hv_crash_setup_trampdata() 492 tramp->cs_jmptgt.csval = 0x8; in hv_crash_setup_trampdata() 494 tramp->cs_jmptgt.address = trampoline_pa + offs; in hv_crash_setup_trampdata() [all …]
|
| /linux/include/linux/ |
| H A D | static_call.h | 144 extern void arch_static_call_transform(void *site, void *tramp, void *func, bool tail); 177 s32 tramp; member 181 extern void __static_call_update(struct static_call_key *key, void *tramp, void *func); 258 void __static_call_update(struct static_call_key *key, void *tramp, void *func) in __static_call_update() argument 262 arch_static_call_transform(NULL, tramp, func, false); in __static_call_update() 337 void __static_call_update(struct static_call_key *key, void *tramp, void *func) in __static_call_update() argument
|
| /linux/arch/loongarch/kernel/ |
| H A D | module-sections.c | 107 Elf_Shdr *got_sec, *plt_sec, *plt_idx_sec, *tramp = NULL; in module_frob_arch_sections() local 120 tramp = sechdrs + i; in module_frob_arch_sections() 176 if (tramp) { in module_frob_arch_sections() 177 tramp->sh_type = SHT_NOBITS; in module_frob_arch_sections() 178 tramp->sh_flags = SHF_EXECINSTR | SHF_ALLOC; in module_frob_arch_sections() 179 tramp->sh_addralign = __alignof__(struct plt_entry); in module_frob_arch_sections() 180 tramp->sh_size = NR_FTRACE_PLTS * sizeof(struct plt_entry); in module_frob_arch_sections()
|
| /linux/arch/microblaze/kernel/ |
| H A D | signal.c | 48 unsigned long tramp[2]; /* signal trampoline */ member 54 unsigned long tramp[2]; /* signal trampoline */ member 184 frame->tramp + 0); in setup_rt_frame() 186 err |= __put_user(0xb9cc0008, frame->tramp + 1); in setup_rt_frame() 190 regs->r15 = ((unsigned long)frame->tramp)-8; in setup_rt_frame() 192 address = ((unsigned long)frame->tramp); in setup_rt_frame() 200 address += ((unsigned long)frame->tramp) & ~PAGE_MASK; in setup_rt_frame()
|
| /linux/kernel/ |
| H A D | static_call_inline.c | 134 void __static_call_update(struct static_call_key *key, void *tramp, void *func) in __static_call_update() argument 147 arch_static_call_transform(NULL, tramp, func, false); in __static_call_update() 209 arch_static_call_transform(site_addr, tramp, func, in __static_call_update() 353 unsigned long tramp; in tramp_key_lookup() local 355 tramp = (long)tramp_key->tramp + (long)&tramp_key->tramp; in tramp_key_lookup() 356 if (tramp == addr) in tramp_key_lookup()
|
| /linux/tools/testing/selftests/bpf/prog_tests/ |
| H A D | uprobe_syscall.c | 471 void *tramp = NULL; in test_uprobe_legacy() 483 tramp = (void *) (call + 1) + call->raddr; in test_uprobe_legacy() 485 ASSERT_OK(find_uprobes_trampoline(tramp), "uprobes_trampoline"); in test_uprobe_legacy() 487 return tramp; in test_uprobe_legacy() 490 static bool check_detach(void *addr, void *tramp) in test_uprobe_multi() 496 ok &= ASSERT_OK(find_uprobes_trampoline(tramp), "uprobes_trampoline"); in test_uprobe_multi() 504 void *tramp; in test_uprobe_multi() 506 tramp = check_attach(skel, trigger, addr, executed); in test_uprobe_multi() 508 check_detach(addr, tramp); in test_uprobe_multi() 509 return tramp; in test_uprobe_multi() 413 void *tramp = NULL; check_attach() local 431 check_detach(void * addr,void * tramp) check_detach() argument 441 void *tramp; check() local [all...] |
| /linux/arch/x86/include/asm/ |
| H A D | static_call.h | 66 extern bool __static_call_fixup(void *tramp, u8 op, void *dest); 68 extern void __static_call_update_early(void *tramp, void *func);
|
| /linux/arch/powerpc/tools/ |
| H A D | ftrace-gen-ool-stubs.sh | 35 .pushsection .tramp.ftrace.text,"aw" 45 .pushsection .tramp.ftrace.init,"aw"
|
| /linux/arch/powerpc/kernel/ |
| H A D | signal_64.c | 61 unsigned int tramp[TRAMP_SIZE]; member 624 static long setup_trampoline(unsigned int syscall, unsigned int __user *tramp) in setup_trampoline() argument 630 err |= __put_user(PPC_RAW_BCTRL(), &tramp[0]); in setup_trampoline() 631 err |= __put_user(PPC_RAW_ADDI(_R1, _R1, __SIGNAL_FRAMESIZE), &tramp[1]); in setup_trampoline() 633 err |= __put_user(PPC_RAW_LI(_R0, syscall), &tramp[2]); in setup_trampoline() 634 err |= __put_user(PPC_RAW_SC(), &tramp[3]); in setup_trampoline() 638 err |= __put_user(0, &tramp[i]); in setup_trampoline() 641 flush_icache_range((unsigned long) &tramp[0], in setup_trampoline() 642 (unsigned long) &tramp[TRAMP_SIZE]); in setup_trampoline() 927 err |= setup_trampoline(__NR_rt_sigreturn, &frame->tramp[0]); in handle_rt_signal64() [all …]
|
| H A D | signal_32.c | 743 unsigned long tramp; in handle_rt_signal32() local 786 tramp = VDSO32_SYMBOL(tsk->mm->context.vdso, sigtramp_rt32); in handle_rt_signal32() 788 tramp = (unsigned long)mctx->mc_pad; in handle_rt_signal32() 800 regs->link = tramp; in handle_rt_signal32() 843 unsigned long tramp; in handle_signal32() local 882 tramp = VDSO32_SYMBOL(tsk->mm->context.vdso, sigtramp32); in handle_signal32() 884 tramp = (unsigned long)mctx->mc_pad; in handle_signal32() 891 regs->link = tramp; in handle_signal32()
|
| H A D | vmlinux.lds.S | 104 *(.tramp.ftrace.text); 261 *(.tramp.ftrace.init);
|
| H A D | module_64.c | 1141 mod->arch.tramp = stub_for_addr(sechdrs, in module_finalize_ftrace() 1154 if (!mod->arch.tramp) in module_finalize_ftrace() 1157 if (setup_ftrace_ool_stubs(sechdrs, mod->arch.tramp, mod)) in module_finalize_ftrace()
|
| /linux/arch/x86/kernel/ |
| H A D | uprobes.c | 362 static unsigned long trampoline_check_ip(unsigned long tramp) in trampoline_check_ip() argument 364 return tramp + (uretprobe_syscall_check - uretprobe_trampoline_entry); in trampoline_check_ip() 371 unsigned long err, ip, sp, tramp; in SYSCALL_DEFINE0() local 374 tramp = uprobe_get_trampoline_vaddr(); in SYSCALL_DEFINE0() 375 if (unlikely(tramp == UPROBE_NO_TRAMPOLINE_VADDR)) in SYSCALL_DEFINE0() 379 if (unlikely(regs->ip != trampoline_check_ip(tramp))) in SYSCALL_DEFINE0() 1068 unsigned long vaddr, unsigned long tramp) in swbp_optimize() argument 1081 (const void *) tramp, CALL_INSN_SIZE); in swbp_optimize() 1173 struct vm_area_struct *vma, *tramp; in __arch_uprobe_optimize() local 1182 tramp = get_uprobe_trampoline(mm, vaddr, &new_mapping); in __arch_uprobe_optimize() [all …]
|
| H A D | ftrace.c | 273 static inline void tramp_free(void *tramp) in tramp_free() argument 275 execmem_free(tramp); in tramp_free()
|
| /linux/arch/powerpc/perf/ |
| H A D | callchain_64.c | 33 unsigned int tramp[6]; member 42 if (nip == fp + offsetof(struct signal_frame_64, tramp)) in is_sigreturn_64_address()
|
| /linux/arch/hexagon/kernel/ |
| H A D | signal.c | 22 unsigned long tramp[2]; member 114 err |= __put_user(0x7800d166, &frame->tramp[0]); in setup_rt_frame() 115 err |= __put_user(0x5400c004, &frame->tramp[1]); in setup_rt_frame()
|
| /linux/arch/parisc/include/asm/ |
| H A D | rt_sigframe.h | 6 unsigned int tramp[2]; /* holds original return address */ member
|
| /linux/arch/powerpc/include/asm/ |
| H A D | module.h | 51 unsigned long tramp; member
|
| /linux/arch/parisc/kernel/ |
| H A D | signal32.h | 40 unsigned int tramp[2]; /* holds original return address */ member
|
| /linux/tools/testing/selftests/bpf/test_kmods/ |
| H A D | bpf_testmod.c | 2138 void **tramp; in bpf_testmod_init() local 2171 tramp = (void **)&__bpf_testmod_ops.tramp_1; in bpf_testmod_init() 2172 while (tramp <= (void **)&__bpf_testmod_ops.tramp_40) in bpf_testmod_init() 2173 *tramp++ = bpf_testmod_tramp; in bpf_testmod_init()
|