init/main.c: log arguments and environment passed to init
authorArvind Sankar <nivedita@alum.mit.edu>
Fri, 31 Jan 2020 06:17:13 +0000 (22:17 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 31 Jan 2020 18:30:41 +0000 (10:30 -0800)
Extend logging in `run_init_process` to also show the arguments and
environment that we are passing to init.

Link: http://lkml.kernel.org/r/20191212180023.24339-2-nivedita@alum.mit.edu
Signed-off-by: Arvind Sankar <nivedita@alum.mit.edu>
Cc: Chris Metcalf <cmetcalf@tilera.com>
Cc: Krzysztof Mazur <krzysiek@podlesie.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
init/main.c

index db13a76..424d88f 100644 (file)
@@ -1043,8 +1043,16 @@ static void __init do_pre_smp_initcalls(void)
 
 static int run_init_process(const char *init_filename)
 {
+       const char *const *p;
+
        argv_init[0] = init_filename;
        pr_info("Run %s as init process\n", init_filename);
+       pr_debug("  with arguments:\n");
+       for (p = argv_init; *p; p++)
+               pr_debug("    %s\n", *p);
+       pr_debug("  with environment:\n");
+       for (p = envp_init; *p; p++)
+               pr_debug("    %s\n", *p);
        return do_execve(getname_kernel(init_filename),
                (const char __user *const __user *)argv_init,
                (const char __user *const __user *)envp_init);