Thread (2 messages) 2 messages, 2 authors, 2025-02-25
STALE579d

[PATCH] ftrace: don't call kaslr_offset()

From: Arnd Bergmann <arnd@kernel.org>
Date: 2025-02-25 09:01:09
Also in: lkml
Subsystem: function hooks (ftrace), the rest, tracing · Maintainers: Steven Rostedt, Masami Hiramatsu, Linus Torvalds

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(-)
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;
-- 
2.39.5
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help