Re: [PATCH] tracing/ring-buffer: hide unused last_boot_fops
From: Steven Rostedt
Date: Fri Jul 19 2024 - 09:56:32 EST
On Fri, 19 Jul 2024 12:26:33 +0200
Arnd Bergmann <arnd@xxxxxxxxxx> wrote:
> From: Arnd Bergmann <arnd@xxxxxxxx>
>
> This variable is used only in an #ifdef, which causes a W=1 warning
> with some compilers:
>
> kernel/trace/trace.c:7570:37: error: 'last_boot_fops' defined but not used [-Werror=unused-const-variable=]
> 7570 | static const struct file_operations last_boot_fops = {
>
> Guard this one with the same #ifdef.
>
> Fixes: 7a1d1e4b9639 ("tracing/ring-buffer: Add last_boot_info file to boot instance")
> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
Actually "last_boot_info" and snapshot should be mutually exclusive.
That is, an instance can have a snapshot or the "last_boot_info" but not
both. The real fix is:
diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c
index 5462fb10ff64..0d1841b3363e 100644
--- a/kernel/trace/trace.c
+++ b/kernel/trace/trace.c
@@ -9828,15 +9828,15 @@ init_tracer_tracefs(struct trace_array *tr, struct dentry *d_tracer)
if (ftrace_create_function_files(tr, d_tracer))
MEM_FAIL(1, "Could not allocate function filter files");
-#ifdef CONFIG_TRACER_SNAPSHOT
if (tr->range_addr_start) {
trace_create_file("last_boot_info", TRACE_MODE_READ, d_tracer,
tr, &last_boot_fops);
+#ifdef CONFIG_TRACER_SNAPSHOT
} else {
trace_create_file("snapshot", TRACE_MODE_WRITE, d_tracer,
tr, &snapshot_fops);
- }
#endif
+ }
trace_create_file("error_log", TRACE_MODE_WRITE, d_tracer,
tr, &tracing_err_log_fops);
I'll write up a patch and give you the "reported-by".
Thanks!
-- Steve