]> git.itanic.dy.fi Git - linux-stable/commitdiff
sh: fix format string bug in stack tracer
authorMatt Fleming <matt.fleming@intel.com>
Thu, 3 Apr 2014 21:46:20 +0000 (14:46 -0700)
committerJiri Slaby <jslaby@suse.cz>
Thu, 15 May 2014 07:55:35 +0000 (09:55 +0200)
commit a0c32761e73c9999cbf592b702f284221fea8040 upstream.

Kees reported the following error:

   arch/sh/kernel/dumpstack.c: In function 'print_trace_address':
   arch/sh/kernel/dumpstack.c:118:2: error: format not a string literal and no format arguments [-Werror=format-security]

Use the "%s" format so that it's impossible to interpret 'data' as a
format string.

Signed-off-by: Matt Fleming <matt.fleming@intel.com>
Reported-by: Kees Cook <keescook@chromium.org>
Acked-by: Kees Cook <keescook@chromium.org>
Cc: Paul Mundt <lethal@linux-sh.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
arch/sh/kernel/dumpstack.c

index b959f55926043183a7abeff3c07d170717d7b923..8dfe645bcc4b85d65cc60bf7a50b9b0e7e55c29f 100644 (file)
@@ -115,7 +115,7 @@ static int print_trace_stack(void *data, char *name)
  */
 static void print_trace_address(void *data, unsigned long addr, int reliable)
 {
-       printk(data);
+       printk("%s", (char *)data);
        printk_address(addr, reliable);
 }