From: Lillian Berry Date: Sun, 11 Jan 2026 12:56:35 +0000 (-0500) Subject: init/main.c: check if rdinit was explicitly set before printing warning X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a906f3ae4423d35c9804c8ec3a0db96ce9b54d44;p=thirdparty%2Fkernel%2Flinux.git init/main.c: check if rdinit was explicitly set before printing warning 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 Cc: Ahmad Fatoum Cc: Alexander Shishkin Cc: Al Viro Cc: Douglas Anderson Cc: Francesco Valla Cc: Guo Weikang Cc: Huacai Chen Cc: Huan Yang Cc: Ingo Molnar Cc: "Mike Rapoport (Microsoft)" Cc: Sascha Hauer Cc: Thomas Gleixner Signed-off-by: Andrew Morton --- diff --git a/init/main.c b/init/main.c index b84818ad9685f..4773f3bad49c4 100644 --- a/init/main.c +++ b/init/main.c @@ -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(); }