diff mbox series

ftrace: don't call kaslr_offset()

Message ID 20250225090104.554966-1-arnd@kernel.org (mailing list archive)
State Superseded
Headers show
Series ftrace: don't call kaslr_offset() | expand

Commit Message

Arnd Bergmann Feb. 25, 2025, 9 a.m. UTC
From: Arnd Bergmann <arnd@arndb.de>

The kaslr_offset() function is only defined on architectures
that implement CONFIG_RANDOMIZE_BASE, which leads to a
build failure on 32-bit arm and likely others.

Hide the function call behind an #ifdef.

Fixes: ef378c3b8233 ("scripts/sorttable: Zero out weak functions in mcount_loc table")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
There is probably a nicer way to do this, this version was the
minimum fix I found to unbreak the build.
---
 kernel/trace/ftrace.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

Comments

Steven Rostedt Feb. 25, 2025, 6:31 p.m. UTC | #1
On Tue, 25 Feb 2025 10:00:58 +0100
Arnd Bergmann <arnd@kernel.org> wrote:

> From: Arnd Bergmann <arnd@arndb.de>
> 
> The kaslr_offset() function is only defined on architectures
> that implement CONFIG_RANDOMIZE_BASE, which leads to a
> build failure on 32-bit arm and likely others.
> 
> Hide the function call behind an #ifdef.
> 
> Fixes: ef378c3b8233 ("scripts/sorttable: Zero out weak functions in mcount_loc table")
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> ---
> There is probably a nicer way to do this, this version was the
> minimum fix I found to unbreak the build.

Yep, I ended up removing the reference to kasrl_offset() altogether.

You are Cc'd on the new patch set.

Thanks,

-- Steve

> ---
>  kernel/trace/ftrace.c | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
diff mbox series

Patch

diff --git a/kernel/trace/ftrace.c b/kernel/trace/ftrace.c
index ac55b97aa540..f41245716e0b 100644
--- a/kernel/trace/ftrace.c
+++ b/kernel/trace/ftrace.c
@@ -7018,7 +7018,7 @@  static int ftrace_process_locs(struct module *mod,
 	unsigned long count;
 	unsigned long *p;
 	unsigned long addr;
-	unsigned long kaslr;
+	unsigned long kaslr = 0;
 	unsigned long flags = 0; /* Shut up gcc */
 	unsigned long pages;
 	int ret = -ENOMEM;
@@ -7070,8 +7070,10 @@  static int ftrace_process_locs(struct module *mod,
 		ftrace_pages->next = start_pg;
 	}
 
+#ifdef CONFIG_RANDOMIZE_BASE
 	/* For zeroed locations that were shifted for core kernel */
 	kaslr = !mod ? kaslr_offset() : 0;
+#endif
 
 	p = start;
 	pg = start_pg;