From: Masami Hiramatsu (Google) <mhiramat@kernel.org>
To: paulmck@kernel.org
Cc: Geert Uytterhoeven <geert@linux-m68k.org>,
linux-kernel@vger.kernel.org, linux-doc@vger.kernel.org,
corbet@lwn.net, akpm@linux-foundation.org,
ndesaulniers@google.com, vbabka@suse.cz, hannes@cmpxchg.org,
joel@joelfernandes.org, quic_neeraju@quicinc.com,
urezki@gmail.com
Subject: Re: [PATCH RFC bootconfig] Allow forcing unconditional bootconfig processing
Date: Sat, 25 Feb 2023 09:58:11 +0900 [thread overview]
Message-ID: <20230225095811.926a8ebaee4ca2d1fb9d9e45@kernel.org> (raw)
In-Reply-To: <20230224163307.GN2948950@paulmck-ThinkPad-P17-Gen-1>
On Fri, 24 Feb 2023 08:33:07 -0800
"Paul E. McKenney" <paulmck@kernel.org> wrote:
> On Sat, Feb 25, 2023 at 01:13:06AM +0900, Masami Hiramatsu wrote:
> > Hi Geert,
> >
> > On Fri, 24 Feb 2023 09:31:50 +0100
> > Geert Uytterhoeven <geert@linux-m68k.org> wrote:
> >
> > > Hi Paul,
> > >
> > > On Sat, Jan 7, 2023 at 5:33 PM Paul E. McKenney <paulmck@kernel.org> wrote:
> > > > On Sun, Jan 08, 2023 at 12:22:15AM +0900, Masami Hiramatsu wrote:
> > > > > BTW, maybe CONFIG_BOOT_CONFIG_EMBED is better to select this.
> > > > > (or at least recommend to enable this)
> > > >
> > > > Like this?
> > > >
> > > > Thanx, Paul
> > > >
> > > > ------------------------------------------------------------------------
> > > >
> > > > commit d09a1505c51a70da38b34ac38062977299aef742
> > > > Author: Paul E. McKenney <paulmck@kernel.org>
> > > > Date: Sat Jan 7 08:09:22 2023 -0800
> > > >
> > > > bootconfig: Default BOOT_CONFIG_FORCE to y if BOOT_CONFIG_EMBED
> > > >
> > > > When a kernel is built with CONFIG_BOOT_CONFIG_EMBED=y, the intention
> > > > will normally be to unconditionally provide the specified kernel-boot
> > > > arguments to the kernel, as opposed to requiring a separately provided
> > > > bootconfig parameter. Therefore, make the BOOT_CONFIG_FORCE Kconfig
> > > > option default to y in kernels built with CONFIG_BOOT_CONFIG_EMBED=y.
> > > >
> > > > The old semantics may be obtained by manually overriding this default.
> > > >
> > > > Suggested-by: Masami Hiramatsu <mhiramat@kernel.org>
> > > > Signed-off-by: Paul E. McKenney <paulmck@kernel.org>
> > > >
> > > > diff --git a/init/Kconfig b/init/Kconfig
> > > > index 0fb19fa0edba9..97a0f14d9020d 100644
> > > > --- a/init/Kconfig
> > > > +++ b/init/Kconfig
> > > > @@ -1379,6 +1379,7 @@ config BOOT_CONFIG
> > > > config BOOT_CONFIG_FORCE
> > > > bool "Force unconditional bootconfig processing"
> > > > depends on BOOT_CONFIG
> > > > + default y if BOOT_CONFIG_EMBED
> > > > help
> > > > With this Kconfig option set, BOOT_CONFIG processing is carried
> > > > out even when the "bootconfig" kernel-boot parameter is omitted.
> > >
> > > Thanks for your patch, which is now commit 6ded8a28ed80e4cc
> > > ("bootconfig: Default BOOT_CONFIG_FORCE to y if BOOT_CONFIG_EMBED").
> > >
> > > After this change, an all{mod,yes}config kernel has:
> > >
> > > CONFIG_BOOT_CONFIG_FORCE=y
> > > CONFIG_BOOT_CONFIG_EMBED=y
> > > CONFIG_BOOT_CONFIG_EMBED_FILE=""
> > >
> > > Will this actually work? I haven't tried booting such a kernel yet.
> >
> > Yeah, good question. It is same as when you boot the kernel with 'bootconfig'
> > but do not add the bootconfig file to initrd. You may see below message
> > on boot log, but kernel boots normally. :)
> >
> > 'bootconfig' found on command line, but no bootconfig found
> >
> > (Maybe it is better to fix the message, because if BOOT_CONFIG_FORCE=y, this
> > will be shown without 'bootconfig' on command line.)
>
> I just tried it again, and for me it just silently ignores the bootconfig
> setup. Which is what I recall happening when I tried it when creating
> the patch.
>
> Here is the .config file pieces of interest:
>
> CONFIG_BOOT_CONFIG=y
> CONFIG_BOOT_CONFIG_FORCE=y
> CONFIG_BOOT_CONFIG_EMBED=y
> CONFIG_BOOT_CONFIG_EMBED_FILE=""
>
> Anyone else seeing something different?
Hmm, from the code, I think you'll see that message in early console log.
In init/main.c:
----
#ifdef CONFIG_BOOT_CONFIG
/* Is bootconfig on command line? */
static bool bootconfig_found = IS_ENABLED(CONFIG_BOOT_CONFIG_FORCE);
static size_t initargs_offs;
#else
----
And
----
static void __init setup_boot_config(void)
{
...
strscpy(tmp_cmdline, boot_command_line, COMMAND_LINE_SIZE);
err = parse_args("bootconfig", tmp_cmdline, NULL, 0, 0, 0, NULL,
bootconfig_params);
if (IS_ERR(err) || !bootconfig_found)
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");
return;
}
----
Thus, if CONFIG_BOOT_CONFIG_FORCE=y, the process passes the below check
if (IS_ERR(err) || !bootconfig_found)
return;
But since we have an empty 'data', the error should be printed.
Thank you,
>
> Thanx, Paul
>
> > Thank you!
> >
> > >
> > > Gr{oetje,eeting}s,
> > >
> > > Geert
> > >
> > > --
> > > Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org
> > >
> > > In personal conversations with technical people, I call myself a hacker. But
> > > when I'm talking to journalists I just say "programmer" or something like that.
> > > -- Linus Torvalds
> >
> >
> > --
> > Masami Hiramatsu (Google) <mhiramat@kernel.org>
--
Masami Hiramatsu (Google) <mhiramat@kernel.org>
next prev parent reply other threads:[~2023-02-25 0:58 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-01-05 0:58 [PATCH RFC bootconfig] Allow forcing unconditional bootconfig processing Paul E. McKenney
2023-01-07 15:22 ` Masami Hiramatsu
2023-01-07 16:22 ` Paul E. McKenney
2023-01-08 6:04 ` Masami Hiramatsu
2023-01-09 4:25 ` Paul E. McKenney
2023-01-09 23:56 ` Masami Hiramatsu
2023-01-10 0:07 ` Paul E. McKenney
2023-01-10 0:54 ` Masami Hiramatsu
2023-01-10 1:09 ` Paul E. McKenney
2023-01-10 14:17 ` Masami Hiramatsu
2023-01-10 15:02 ` Paul E. McKenney
2023-01-26 19:26 ` Paul E. McKenney
2023-01-27 5:57 ` Masami Hiramatsu
2023-01-31 18:50 ` Paul E. McKenney
2023-02-24 8:31 ` Geert Uytterhoeven
2023-02-24 16:13 ` Masami Hiramatsu
2023-02-24 16:33 ` Paul E. McKenney
2023-02-25 0:58 ` Masami Hiramatsu [this message]
2023-02-25 1:19 ` Paul E. McKenney
2023-02-26 23:16 ` Masami Hiramatsu
2023-02-27 16:56 ` Paul E. McKenney
2023-02-27 23:29 ` Masami Hiramatsu
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20230225095811.926a8ebaee4ca2d1fb9d9e45@kernel.org \
--to=mhiramat@kernel.org \
--cc=akpm@linux-foundation.org \
--cc=corbet@lwn.net \
--cc=geert@linux-m68k.org \
--cc=hannes@cmpxchg.org \
--cc=joel@joelfernandes.org \
--cc=linux-doc@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=ndesaulniers@google.com \
--cc=paulmck@kernel.org \
--cc=quic_neeraju@quicinc.com \
--cc=urezki@gmail.com \
--cc=vbabka@suse.cz \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.