[tip: x86/cleanups] x86/ftrace: Move prepare_ftrace_return prototype to header

From: tip-bot2 for Arnd Bergmann
Date: Thu May 18 2023 - 18:03:53 EST


The following commit has been merged into the x86/cleanups branch of tip:

Commit-ID: 26c3379a6912ab7f5115cea31123a57de8d2ce8a
Gitweb: https://git.kernel.org/tip/26c3379a6912ab7f5115cea31123a57de8d2ce8a
Author: Arnd Bergmann <arnd@xxxxxxxx>
AuthorDate: Tue, 16 May 2023 21:35:30 +02:00
Committer: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx>
CommitterDate: Thu, 18 May 2023 11:56:01 -07:00

x86/ftrace: Move prepare_ftrace_return prototype to header

On 32-bit builds, the prepare_ftrace_return() function only has a global
definition, but no prototype before it, which causes a warning:

arch/x86/kernel/ftrace.c:625:6: warning: no previous prototype for ‘prepare_ftrace_return’ [-Wmissing-prototypes]
625 | void prepare_ftrace_return(unsigned long ip, unsigned long *parent,

Move the prototype that is already needed for some configurations into
a header file where it can be seen unconditionally.

Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
Signed-off-by: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx>
Reviewed-by: Alexander Lobakin <aleksander.lobakin@xxxxxxxxx>
Link: https://lore.kernel.org/all/20230516193549.544673-2-arnd%40kernel.org
---
arch/x86/include/asm/ftrace.h | 3 +++
arch/x86/kernel/ftrace.c | 3 ---
2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/arch/x86/include/asm/ftrace.h b/arch/x86/include/asm/ftrace.h
index 5061ac9..b8d4a07 100644
--- a/arch/x86/include/asm/ftrace.h
+++ b/arch/x86/include/asm/ftrace.h
@@ -106,6 +106,9 @@ struct dyn_arch_ftrace {

#ifndef __ASSEMBLY__

+void prepare_ftrace_return(unsigned long ip, unsigned long *parent,
+ unsigned long frame_pointer);
+
#if defined(CONFIG_FUNCTION_TRACER) && defined(CONFIG_DYNAMIC_FTRACE)
extern void set_ftrace_ops_ro(void);
#else
diff --git a/arch/x86/kernel/ftrace.c b/arch/x86/kernel/ftrace.c
index 5e7ead5..01e8f34 100644
--- a/arch/x86/kernel/ftrace.c
+++ b/arch/x86/kernel/ftrace.c
@@ -525,9 +525,6 @@ static void *addr_from_call(void *ptr)
return ptr + CALL_INSN_SIZE + call.disp;
}

-void prepare_ftrace_return(unsigned long ip, unsigned long *parent,
- unsigned long frame_pointer);
-
/*
* If the ops->trampoline was not allocated, then it probably
* has a static trampoline func, or is the ftrace caller itself.