On Fri, 19 Jul 2024 12:26:33 +0200
Arnd Bergmann <a...@kernel.org> wrote:

> From: Arnd Bergmann <a...@arndb.de>
> 
> 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 <a...@arndb.de>

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

Reply via email to