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 |
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; > } > >
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 --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; }