]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
init/main.c: check if rdinit was explicitly set before printing warning
authorLillian Berry <lillian@star-ark.net>
Sun, 11 Jan 2026 12:56:35 +0000 (07:56 -0500)
committerAndrew Morton <akpm@linux-foundation.org>
Tue, 27 Jan 2026 03:07:14 +0000 (19:07 -0800)
The rdinit parameter is set by default, and attempted during boot even if
not specified in the command line.  Only print the warning about rdinit
being inaccessible if the rdinit value was found in command line; it's
just noise otherwise.

[akpm@linux-foundation.org: move ramdisk_execute_command_set into __initdata]
Link: https://lkml.kernel.org/r/20260111125635.53682-1-lillian@star-ark.net
Signed-off-by: Lillian Berry <lillian@star-ark.net>
Cc: Ahmad Fatoum <a.fatoum@pengutronix.de>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Al Viro <viro@zeniv.linux.org.uk>
Cc: Douglas Anderson <dianders@chromium.org>
Cc: Francesco Valla <francesco@valla.it>
Cc: Guo Weikang <guoweikang.kernel@gmail.com>
Cc: Huacai Chen <chenhuacai@kernel.org>
Cc: Huan Yang <link@vivo.com>
Cc: Ingo Molnar <mingo@kernel.org>
Cc: "Mike Rapoport (Microsoft)" <rppt@kernel.org>
Cc: Sascha Hauer <kernel@pengutronix.de>
Cc: Thomas Gleixner <tglx@kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
init/main.c

index b84818ad9685f8a2bd4142425eb6db92efac5fd4..4773f3bad49c429d8bf7dc3f412894b277eb7497 100644 (file)
@@ -162,6 +162,7 @@ static size_t initargs_offs;
 
 static char *execute_command;
 static char *ramdisk_execute_command = "/init";
+static bool __initdata ramdisk_execute_command_set;
 
 /*
  * Used to generate warnings if static_key manipulation functions are used
@@ -623,6 +624,7 @@ static int __init rdinit_setup(char *str)
        unsigned int i;
 
        ramdisk_execute_command = str;
+       ramdisk_execute_command_set = true;
        /* See "auto" comment in init_setup */
        for (i = 1; i < MAX_INIT_ARGS; i++)
                argv_init[i] = NULL;
@@ -1699,8 +1701,9 @@ static noinline void __init kernel_init_freeable(void)
        int ramdisk_command_access;
        ramdisk_command_access = init_eaccess(ramdisk_execute_command);
        if (ramdisk_command_access != 0) {
-               pr_warn("check access for rdinit=%s failed: %i, ignoring\n",
-                       ramdisk_execute_command, ramdisk_command_access);
+               if (ramdisk_execute_command_set)
+                       pr_warn("check access for rdinit=%s failed: %i, ignoring\n",
+                               ramdisk_execute_command, ramdisk_command_access);
                ramdisk_execute_command = NULL;
                prepare_namespace();
        }