OSDN Git Service

powerpc/ftrace: Use FTRACE_REGS_ADDR to identify the correct ftrace trampoline
authorNaveen N Rao <naveen@kernel.org>
Mon, 19 Jun 2023 09:47:23 +0000 (15:17 +0530)
committerMichael Ellerman <mpe@ellerman.id.au>
Mon, 21 Aug 2023 14:09:05 +0000 (00:09 +1000)
Instead of keying off DYNAMIC_FTRACE_WITH_REGS, use FTRACE_REGS_ADDR to
identify the proper ftrace trampoline address to use.

Signed-off-by: Naveen N Rao <naveen@kernel.org>
Reviewed-by: Christophe Leroy <christophe.leroy@csgroup.eu>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
Link: https://msgid.link/6045a280a57a7ea937a5bb13ccac747026dbfb07.1687166935.git.naveen@kernel.org
arch/powerpc/kernel/trace/ftrace.c

index f117124..5aa3627 100644 (file)
@@ -745,14 +745,9 @@ int __init ftrace_dyn_arch_init(void)
        };
 #endif
 
-       unsigned long addr;
+       unsigned long addr = FTRACE_REGS_ADDR;
        long reladdr;
 
-       if (IS_ENABLED(CONFIG_DYNAMIC_FTRACE_WITH_REGS))
-               addr = ppc_global_function_entry((void *)ftrace_regs_caller);
-       else
-               addr = ppc_global_function_entry((void *)ftrace_caller);
-
        if (IS_ENABLED(CONFIG_PPC_KERNEL_PCREL)) {
                for (i = 0; i < 2; i++) {
                        reladdr = addr - (unsigned long)tramp[i];