linux-trace-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] tracing: fix build without CONFIG_MODULES
@ 2025-03-14 15:50 Arnd Bergmann
  2025-03-21 16:35 ` Steven Rostedt
  0 siblings, 1 reply; 2+ messages in thread
From: Arnd Bergmann @ 2025-03-14 15:50 UTC (permalink / raw)
  To: Steven Rostedt, Masami Hiramatsu
  Cc: Arnd Bergmann, Mathieu Desnoyers, Vincent Donnefort, Huang Yiwei,
	linux-kernel, linux-trace-kernel

From: Arnd Bergmann <arnd@arndb.de>

The tracing code fails to build when CONFIG_MODULES is disabled:

kernel/trace/trace.c: In function 'save_mod':
kernel/trace/trace.c:6041:45: error: invalid use of undefined type 'struct module'
 6041 |         entry->mod_addr = (unsigned long)mod->mem[MOD_TEXT].base;
      |                                             ^~

The problem here is that 'struct module' is not defined in this configuration.

Enclose the functions in another #ifdef, just like other parts of this file
already are.

Fixes: dca91c1c5468 ("tracing: Have persistent trace instances save module addresses")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 kernel/trace/trace.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c
index a6105b6dcc2b..51c030b9887e 100644
--- a/kernel/trace/trace.c
+++ b/kernel/trace/trace.c
@@ -6019,6 +6019,7 @@ struct trace_scratch {
 
 static DEFINE_MUTEX(scratch_mutex);
 
+#ifdef CONFIG_MODULES
 static int save_mod(struct module *mod, void *data)
 {
 	struct trace_array *tr = data;
@@ -6043,6 +6044,7 @@ static int save_mod(struct module *mod, void *data)
 
 	return 0;
 }
+#endif
 
 static void update_last_data(struct trace_array *tr)
 {
@@ -6060,7 +6062,9 @@ static void update_last_data(struct trace_array *tr)
 		tscratch->nr_entries = 0;
 
 		guard(mutex)(&scratch_mutex);
+#ifdef CONFIG_MODULES
 		module_for_each_mod(save_mod, tr);
+#endif
 	}
 
 	if (!(tr->flags & TRACE_ARRAY_FL_LAST_BOOT))
-- 
2.39.5


^ permalink raw reply related	[flat|nested] 2+ messages in thread

* Re: [PATCH] tracing: fix build without CONFIG_MODULES
  2025-03-14 15:50 [PATCH] tracing: fix build without CONFIG_MODULES Arnd Bergmann
@ 2025-03-21 16:35 ` Steven Rostedt
  0 siblings, 0 replies; 2+ messages in thread
From: Steven Rostedt @ 2025-03-21 16:35 UTC (permalink / raw)
  To: Arnd Bergmann
  Cc: Masami Hiramatsu, Arnd Bergmann, Mathieu Desnoyers,
	Vincent Donnefort, Huang Yiwei, linux-kernel, linux-trace-kernel

On Fri, 14 Mar 2025 16:50:49 +0100
Arnd Bergmann <arnd@kernel.org> wrote:

> From: Arnd Bergmann <arnd@arndb.de>
> 
> The tracing code fails to build when CONFIG_MODULES is disabled:
> 
> kernel/trace/trace.c: In function 'save_mod':
> kernel/trace/trace.c:6041:45: error: invalid use of undefined type 'struct module'
>  6041 |         entry->mod_addr = (unsigned long)mod->mem[MOD_TEXT].base;
>       |                                             ^~
> 
> The problem here is that 'struct module' is not defined in this configuration.
> 
> Enclose the functions in another #ifdef, just like other parts of this file
> already are.
> 
> Fixes: dca91c1c5468 ("tracing: Have persistent trace instances save module addresses")
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
> ---

Thanks, but Masami already sent one fix where I commented on and he
then sent an update:

  https://lore.kernel.org/all/174188321162.3845006.12665585959241736399.stgit@mhiramat.tok.corp.google.com/

and the update:

  https://lore.kernel.org/all/174230515367.2909896.8132122175220657625.stgit@mhiramat.tok.corp.google.com/

-- Steve

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2025-03-21 16:35 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-03-14 15:50 [PATCH] tracing: fix build without CONFIG_MODULES Arnd Bergmann
2025-03-21 16:35 ` Steven Rostedt

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).