tracing: Avoid -Wformat-nonliteral warning
authorRasmus Villemoes <linux@rasmusvillemoes.dk>
Mon, 29 Oct 2018 22:35:41 +0000 (23:35 +0100)
committerSteven Rostedt (VMware) <rostedt@goodmis.org>
Sat, 22 Dec 2018 13:21:06 +0000 (08:21 -0500)
Building with -Wformat-nonliteral, gcc complains

kernel/trace/trace_output.c: In function ‘seq_print_sym’:
kernel/trace/trace_output.c:356:3: warning: format not a string literal, argument types not checked [-Wformat-nonliteral]
   trace_seq_printf(s, fmt, name);

But seq_print_sym only has a single caller which passes "%s" as fmt, so
we might as well just use that directly. That also paves the way for
further cleanups that will actually make that format string go away
entirely.

Link: http://lkml.kernel.org/r/20181029223542.26175-3-linux@rasmusvillemoes.dk
Signed-off-by: Rasmus Villemoes <linux@rasmusvillemoes.dk>
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
kernel/trace/trace_output.c

index 85ecd06..f06fb89 100644 (file)
@@ -339,8 +339,7 @@ static inline const char *kretprobed(const char *name)
 #endif /* CONFIG_KRETPROBES */
 
 static void
-seq_print_sym(struct trace_seq *s, const char *fmt, unsigned long address,
-             bool offset)
+seq_print_sym(struct trace_seq *s, unsigned long address, bool offset)
 {
        char str[KSYM_SYMBOL_LEN];
 #ifdef CONFIG_KALLSYMS
@@ -353,12 +352,12 @@ seq_print_sym(struct trace_seq *s, const char *fmt, unsigned long address,
        name = kretprobed(str);
 
        if (name && strlen(name)) {
-               trace_seq_printf(s, fmt, name);
+               trace_seq_printf(s, "%s", name);
                return;
        }
 #endif
        snprintf(str, KSYM_SYMBOL_LEN, "0x%08lx", address);
-       trace_seq_printf(s, fmt, str);
+       trace_seq_printf(s, "%s", str);
 }
 
 #ifndef CONFIG_64BIT
@@ -407,7 +406,7 @@ seq_print_ip_sym(struct trace_seq *s, unsigned long ip, unsigned long sym_flags)
                goto out;
        }
 
-       seq_print_sym(s, "%s", ip, sym_flags & TRACE_ITER_SYM_OFFSET);
+       seq_print_sym(s, ip, sym_flags & TRACE_ITER_SYM_OFFSET);
 
        if (sym_flags & TRACE_ITER_SYM_ADDR)
                trace_seq_printf(s, " <" IP_FMT ">", ip);