init: fix possible format string bug
authorTetsuo Handa <penguin-kernel@i-love.sakura.ne.jp>
Thu, 23 Jan 2014 23:54:56 +0000 (15:54 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 24 Jan 2014 00:36:58 +0000 (16:36 -0800)
Use constant format string in case message changes.

Signed-off-by: Tetsuo Handa <penguin-kernel@I-love.SAKURA.ne.jp>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
init/initramfs.c
init/main.c

index a67ef9d..93b6139 100644 (file)
@@ -583,7 +583,7 @@ static int __init populate_rootfs(void)
 {
        char *err = unpack_to_rootfs(__initramfs_start, __initramfs_size);
        if (err)
-               panic(err);     /* Failed to decompress INTERNAL initramfs */
+               panic("%s", err); /* Failed to decompress INTERNAL initramfs */
        if (initrd_start) {
 #ifdef CONFIG_BLK_DEV_RAM
                int fd;
index 98e3537..f333385 100644 (file)
@@ -278,7 +278,7 @@ static int __init unknown_bootoption(char *param, char *val, const char *unused)
                unsigned int i;
                for (i = 0; envp_init[i]; i++) {
                        if (i == MAX_INIT_ENVS) {
-                               panic_later = "Too many boot env vars at `%s'";
+                               panic_later = "env";
                                panic_param = param;
                        }
                        if (!strncmp(param, envp_init[i], val - param))
@@ -290,7 +290,7 @@ static int __init unknown_bootoption(char *param, char *val, const char *unused)
                unsigned int i;
                for (i = 0; argv_init[i]; i++) {
                        if (i == MAX_INIT_ARGS) {
-                               panic_later = "Too many boot init vars at `%s'";
+                               panic_later = "init";
                                panic_param = param;
                        }
                }
@@ -582,7 +582,8 @@ asmlinkage void __init start_kernel(void)
         */
        console_init();
        if (panic_later)
-               panic(panic_later, panic_param);
+               panic("Too many boot %s vars at `%s'", panic_later,
+                     panic_param);
 
        lockdep_info();