Skip to content

Commit

Permalink
bootconfig: Change message if no bootconfig with CONFIG_BOOT_CONFIG_F…
Browse files Browse the repository at this point in the history
…ORCE=y

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.

Link: https://lore.kernel.org/all/167754610254.318944.16848412476667893329.stgit@devnote2/

Fixes: b743852 ("Allow forcing unconditional bootconfig processing")
Reported-by: Geert Uytterhoeven <[email protected]>
Link: https://lore.kernel.org/all/CAMuHMdV9jJvE2y8gY5V_CxidUikCf5515QMZHzTA3rRGEOj6=w@mail.gmail.com/
Suggested-by: Paul E. McKenney <[email protected]>
Signed-off-by: Masami Hiramatsu (Google) <[email protected]>
Tested-by: Paul E. McKenney <[email protected]>
Acked-by: Mukesh Ojha <[email protected]>
  • Loading branch information
mhiramat committed Mar 22, 2023
1 parent b692451 commit caa0708
Showing 1 changed file with 7 additions and 3 deletions.
10 changes: 7 additions & 3 deletions init/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -429,15 +429,19 @@ 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 */
if (err)
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;
}

Expand Down

0 comments on commit caa0708

Please sign in to comment.