diff mbox series

bootconfig: Change message if no bootconfig with CONFIG_BOOT_CONFIG_FORCE=y

Message ID 167754610254.318944.16848412476667893329.stgit@devnote2 (mailing list archive)
State Accepted
Commit caa0708a81d6a2217c942959ef40d515ec1d3108
Headers show
Series bootconfig: Change message if no bootconfig with CONFIG_BOOT_CONFIG_FORCE=y | expand

Commit Message

Masami Hiramatsu (Google) Feb. 28, 2023, 1:01 a.m. UTC
From: Masami Hiramatsu (Google) <mhiramat@kernel.org>

Change no bootconfig data error message if user do not specify 'bootconfig'
option but CONFIG_BOOT_CONFIG_FORCE=y.
With CONFIG_BOOT_CONFIG_FORCE=y, the kernel proceeds bootconfig check even
if user does not specify 'bootconfig' option. So the current error message
is confusing. Let's show just an information message to notice skipping
the bootconfig in that case.

Fixes: b743852ccc1d ("Allow forcing unconditional bootconfig processing")
Reported-by: Geert Uytterhoeven <geert@linux-m68k.org>
Link: https://lore.kernel.org/all/CAMuHMdV9jJvE2y8gY5V_CxidUikCf5515QMZHzTA3rRGEOj6=w@mail.gmail.com/
Suggested-by: Paul E. McKenney <paulmck@kernel.org>
Signed-off-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>
---
 init/main.c |   10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

Comments

Paul E. McKenney Feb. 28, 2023, 5:01 a.m. UTC | #1
On Tue, Feb 28, 2023 at 10:01:42AM +0900, Masami Hiramatsu (Google) wrote:
> From: Masami Hiramatsu (Google) <mhiramat@kernel.org>
> 
> Change no bootconfig data error message if user do not specify 'bootconfig'
> option but CONFIG_BOOT_CONFIG_FORCE=y.
> With CONFIG_BOOT_CONFIG_FORCE=y, the kernel proceeds bootconfig check even
> if user does not specify 'bootconfig' option. So the current error message
> is confusing. Let's show just an information message to notice skipping
> the bootconfig in that case.
> 
> Fixes: b743852ccc1d ("Allow forcing unconditional bootconfig processing")
> Reported-by: Geert Uytterhoeven <geert@linux-m68k.org>
> Link: https://lore.kernel.org/all/CAMuHMdV9jJvE2y8gY5V_CxidUikCf5515QMZHzTA3rRGEOj6=w@mail.gmail.com/
> Suggested-by: Paul E. McKenney <paulmck@kernel.org>
> Signed-off-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>

Tested-by: Paul E. McKenney <paulmck@kernel.org>

> ---
>  init/main.c |   10 +++++++---
>  1 file changed, 7 insertions(+), 3 deletions(-)
> 
> diff --git a/init/main.c b/init/main.c
> index 4425d1783d5c..bb87b789c543 100644
> --- a/init/main.c
> +++ b/init/main.c
> @@ -156,7 +156,7 @@ static char *extra_init_args;
>  
>  #ifdef CONFIG_BOOT_CONFIG
>  /* Is bootconfig on command line? */
> -static bool bootconfig_found = IS_ENABLED(CONFIG_BOOT_CONFIG_FORCE);
> +static bool bootconfig_found;
>  static size_t initargs_offs;
>  #else
>  # define bootconfig_found false
> @@ -429,7 +429,7 @@ static void __init setup_boot_config(void)
>  	err = parse_args("bootconfig", tmp_cmdline, NULL, 0, 0, 0, NULL,
>  			 bootconfig_params);
>  
> -	if (IS_ERR(err) || !bootconfig_found)
> +	if (IS_ERR(err) || !(bootconfig_found || IS_ENABLED(CONFIG_BOOT_CONFIG_FORCE)))
>  		return;
>  
>  	/* parse_args() stops at the next param of '--' and returns an address */
> @@ -437,7 +437,11 @@ static void __init setup_boot_config(void)
>  		initargs_offs = err - tmp_cmdline;
>  
>  	if (!data) {
> -		pr_err("'bootconfig' found on command line, but no bootconfig found\n");
> +		/* If user intended to use bootconfig, show an error level message */
> +		if (bootconfig_found)
> +			pr_err("'bootconfig' found on command line, but no bootconfig found\n");
> +		else
> +			pr_info("No bootconfig data provided, so skipping bootconfig");
>  		return;
>  	}
>  
>
Mukesh Ojha March 1, 2023, 2:05 p.m. UTC | #2
On 2/28/2023 6:31 AM, Masami Hiramatsu (Google) wrote:
> From: Masami Hiramatsu (Google) <mhiramat@kernel.org>
> 
> Change no bootconfig data error message if user do not specify 'bootconfig'
> option but CONFIG_BOOT_CONFIG_FORCE=y.
> With CONFIG_BOOT_CONFIG_FORCE=y, the kernel proceeds bootconfig check even
> if user does not specify 'bootconfig' option. So the current error message
> is confusing. Let's show just an information message to notice skipping
> the bootconfig in that case.
> 
> Fixes: b743852ccc1d ("Allow forcing unconditional bootconfig processing")
> Reported-by: Geert Uytterhoeven <geert@linux-m68k.org>
> Link: https://lore.kernel.org/all/CAMuHMdV9jJvE2y8gY5V_CxidUikCf5515QMZHzTA3rRGEOj6=w@mail.gmail.com/
> Suggested-by: Paul E. McKenney <paulmck@kernel.org>
> Signed-off-by: Masami Hiramatsu (Google) <mhiramat@kernel.org>
> ---
>   init/main.c |   10 +++++++---
>   1 file changed, 7 insertions(+), 3 deletions(-)
> 
> diff --git a/init/main.c b/init/main.c
> index 4425d1783d5c..bb87b789c543 100644
> --- a/init/main.c
> +++ b/init/main.c
> @@ -156,7 +156,7 @@ static char *extra_init_args;
>   
>   #ifdef CONFIG_BOOT_CONFIG
>   /* Is bootconfig on command line? */
> -static bool bootconfig_found = IS_ENABLED(CONFIG_BOOT_CONFIG_FORCE);
> +static bool bootconfig_found;
>   static size_t initargs_offs;
>   #else
>   # define bootconfig_found false
> @@ -429,7 +429,7 @@ static void __init setup_boot_config(void)
>   	err = parse_args("bootconfig", tmp_cmdline, NULL, 0, 0, 0, NULL,
>   			 bootconfig_params);
>   
> -	if (IS_ERR(err) || !bootconfig_found)
> +	if (IS_ERR(err) || !(bootconfig_found || IS_ENABLED(CONFIG_BOOT_CONFIG_FORCE)))
>   		return;
>   
>   	/* parse_args() stops at the next param of '--' and returns an address */
> @@ -437,7 +437,11 @@ static void __init setup_boot_config(void)
>   		initargs_offs = err - tmp_cmdline;
>   
>   	if (!data) {
> -		pr_err("'bootconfig' found on command line, but no bootconfig found\n");
> +		/* If user intended to use bootconfig, show an error level message */
> +		if (bootconfig_found)
> +			pr_err("'bootconfig' found on command line, but no bootconfig found\n");
> +		else
> +			pr_info("No bootconfig data provided, so skipping bootconfig");


Acked-by: Mukesh Ojha <quic_mojha@quicinc.com>

-Mukesh

>   		return;
>   	}
>   
>
diff mbox series

Patch

diff --git a/init/main.c b/init/main.c
index 4425d1783d5c..bb87b789c543 100644
--- a/init/main.c
+++ b/init/main.c
@@ -156,7 +156,7 @@  static char *extra_init_args;
 
 #ifdef CONFIG_BOOT_CONFIG
 /* Is bootconfig on command line? */
-static bool bootconfig_found = IS_ENABLED(CONFIG_BOOT_CONFIG_FORCE);
+static bool bootconfig_found;
 static size_t initargs_offs;
 #else
 # define bootconfig_found false
@@ -429,7 +429,7 @@  static void __init setup_boot_config(void)
 	err = parse_args("bootconfig", tmp_cmdline, NULL, 0, 0, 0, NULL,
 			 bootconfig_params);
 
-	if (IS_ERR(err) || !bootconfig_found)
+	if (IS_ERR(err) || !(bootconfig_found || IS_ENABLED(CONFIG_BOOT_CONFIG_FORCE)))
 		return;
 
 	/* parse_args() stops at the next param of '--' and returns an address */
@@ -437,7 +437,11 @@  static void __init setup_boot_config(void)
 		initargs_offs = err - tmp_cmdline;
 
 	if (!data) {
-		pr_err("'bootconfig' found on command line, but no bootconfig found\n");
+		/* If user intended to use bootconfig, show an error level message */
+		if (bootconfig_found)
+			pr_err("'bootconfig' found on command line, but no bootconfig found\n");
+		else
+			pr_info("No bootconfig data provided, so skipping bootconfig");
 		return;
 	}