/Linux-v6.1/arch/powerpc/kernel/trace/ |
D | ftrace.c | 118 unsigned long entry, ptr, tramp; in __ftrace_make_nop() local 135 tramp = find_bl_target(ip, op); in __ftrace_make_nop() 137 pr_devel("ip:%lx jumps to %lx", ip, tramp); in __ftrace_make_nop() 139 if (module_trampoline_target(mod, tramp, &ptr)) { in __ftrace_make_nop() 234 static int add_ftrace_tramp(unsigned long tramp) in add_ftrace_tramp() argument 240 ftrace_tramps[i] = tramp; in add_ftrace_tramp() 253 static int setup_mcount_compiler_tramp(unsigned long tramp) in setup_mcount_compiler_tramp() argument 261 if (ftrace_tramps[i] == tramp) in setup_mcount_compiler_tramp() 265 if (copy_inst_from_kernel_nofault(&op, (void *)tramp)) { in setup_mcount_compiler_tramp() 277 ptr = find_bl_target(tramp, op); in setup_mcount_compiler_tramp() [all …]
|
/Linux-v6.1/arch/powerpc/kernel/ |
D | static_call.c | 7 void arch_static_call_transform(void *site, void *tramp, void *func, bool tail) in arch_static_call_transform() argument 11 unsigned long target = (unsigned long)(is_ret0 ? tramp + PPC_SCT_RET0 : func); in arch_static_call_transform() 12 bool is_short = is_offset_in_branch_range((long)target - (long)tramp); in arch_static_call_transform() 14 if (!tramp) in arch_static_call_transform() 20 err = patch_instruction(tramp + PPC_SCT_DATA, ppc_inst(target)); in arch_static_call_transform() 26 err = patch_instruction(tramp, ppc_inst(PPC_RAW_BLR())); in arch_static_call_transform() 28 err = patch_branch(tramp, target, 0); in arch_static_call_transform() 30 err = patch_instruction(tramp, ppc_inst(PPC_RAW_NOP())); in arch_static_call_transform() 35 panic("%s: patching failed %pS at %pS\n", __func__, func, tramp); in arch_static_call_transform()
|
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 …]
|
D | signal_32.c | 740 unsigned long tramp; in handle_rt_signal32() local 783 tramp = VDSO32_SYMBOL(tsk->mm->context.vdso, sigtramp_rt32); in handle_rt_signal32() 785 tramp = (unsigned long)mctx->mc_pad; in handle_rt_signal32() 797 regs->link = tramp; in handle_rt_signal32() 840 unsigned long tramp; in handle_signal32() local 879 tramp = VDSO32_SYMBOL(tsk->mm->context.vdso, sigtramp32); in handle_signal32() 881 tramp = (unsigned long)mctx->mc_pad; in handle_signal32() 888 regs->link = tramp; in handle_signal32()
|
D | module_32.c | 325 module->arch.tramp = do_plt_call(module->core_layout.base, in module_finalize_ftrace() 328 if (!module->arch.tramp) in module_finalize_ftrace()
|
D | vmlinux.lds.S | 110 *(.tramp.ftrace.text); 273 *(.tramp.ftrace.init);
|
D | module_64.c | 781 mod->arch.tramp = stub_for_addr(sechdrs, in module_finalize_ftrace() 794 if (!mod->arch.tramp) in module_finalize_ftrace()
|
/Linux-v6.1/arch/x86/kernel/ |
D | static_call.c | 70 static void __static_call_validate(void *insn, bool tail, bool tramp) in __static_call_validate() argument 74 if (tramp && memcmp(insn+5, tramp_ud, 3)) { in __static_call_validate() 112 void arch_static_call_transform(void *site, void *tramp, void *func, bool tail) in arch_static_call_transform() argument 116 if (tramp) { in arch_static_call_transform() 117 __static_call_validate(tramp, true, true); in arch_static_call_transform() 118 __static_call_transform(tramp, __sc_insn(!func, true), func, false); in arch_static_call_transform() 142 bool __static_call_fixup(void *tramp, u8 op, void *dest) in __static_call_fixup() argument 144 if (memcmp(tramp+5, tramp_ud, 3)) { in __static_call_fixup() 151 __static_call_transform(tramp, RET, NULL, true); in __static_call_fixup()
|
D | ftrace.c | 264 static inline void tramp_free(void *tramp) in tramp_free() argument 266 module_memfree(tramp); in tramp_free() 274 static inline void tramp_free(void *tramp) { } in tramp_free() argument
|
/Linux-v6.1/include/linux/ |
D | static_call.h | 144 extern void arch_static_call_transform(void *site, void *tramp, void *func, bool tail); 173 s32 tramp; member 177 extern void __static_call_update(struct static_call_key *key, void *tramp, void *func); 252 void __static_call_update(struct static_call_key *key, void *tramp, void *func) in __static_call_update() argument 256 arch_static_call_transform(NULL, tramp, func, false); in __static_call_update() 329 void __static_call_update(struct static_call_key *key, void *tramp, void *func) in __static_call_update() argument
|
/Linux-v6.1/arch/microblaze/kernel/ |
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-v6.1/arch/arm64/kernel/ |
D | module-plts.c | 297 Elf_Shdr *pltsec, *tramp = NULL; in module_frob_arch_sections() local 311 tramp = sechdrs + i; in module_frob_arch_sections() 370 if (tramp) { in module_frob_arch_sections() 371 tramp->sh_type = SHT_NOBITS; in module_frob_arch_sections() 372 tramp->sh_flags = SHF_EXECINSTR | SHF_ALLOC; in module_frob_arch_sections() 373 tramp->sh_addralign = __alignof__(struct plt_entry); in module_frob_arch_sections() 374 tramp->sh_size = NR_FTRACE_PLTS * sizeof(struct plt_entry); in module_frob_arch_sections()
|
D | vmlinux.lds.S | 116 *(.entry.tramp.text) \ 119 *(.entry.tramp.rodata)
|
D | entry.S | 108 adr_l \tmp, .entry.tramp.text
|
/Linux-v6.1/arch/parisc/kernel/ |
D | ftrace.c | 116 u32 *tramp; in ftrace_make_call() local 160 tramp = ftrace_trampoline; in ftrace_make_call() 165 tramp = ftrace_trampoline_unaligned; in ftrace_make_call() 180 __patch_text_multiple(ip, tramp, size); in ftrace_make_call()
|
D | signal32.h | 40 unsigned int tramp[2]; /* holds original return address */ member
|
/Linux-v6.1/kernel/ |
D | static_call_inline.c | 123 void __static_call_update(struct static_call_key *key, void *tramp, void *func) in __static_call_update() argument 136 arch_static_call_transform(NULL, tramp, func, false); in __static_call_update() 343 unsigned long tramp; in tramp_key_lookup() local 345 tramp = (long)tramp_key->tramp + (long)&tramp_key->tramp; in tramp_key_lookup() 346 if (tramp == addr) in tramp_key_lookup()
|
/Linux-v6.1/arch/powerpc/perf/ |
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-v6.1/arch/hexagon/kernel/ |
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-v6.1/arch/parisc/include/asm/ |
D | rt_sigframe.h | 6 unsigned int tramp[2]; /* holds original return address */ member
|
/Linux-v6.1/arch/powerpc/include/asm/ |
D | module.h | 43 unsigned long tramp; member
|
/Linux-v6.1/arch/x86/include/asm/ |
D | static_call.h | 66 extern bool __static_call_fixup(void *tramp, u8 op, void *dest);
|
/Linux-v6.1/arch/x86/platform/efi/ |
D | efi_64.c | 180 unsigned long pfn, text, pf, rodata, tramp; in efi_setup_page_tables() local 258 tramp = __pa(__efi64_thunk_ret_tramp); in efi_setup_page_tables() 259 pfn = tramp >> PAGE_SHIFT; in efi_setup_page_tables() 262 if (kernel_map_pages_in_pgd(pgd, pfn, tramp, 1, pf)) { in efi_setup_page_tables()
|