Re: [PATCH bootconfig 2/3] fs/proc: Add boot loader arguments as comment to /proc/bootconfig

From: Paul E. McKenney
Date: Fri Oct 06 2023 - 12:52:36 EST


On Fri, Oct 06, 2023 at 05:59:48PM +0900, Masami Hiramatsu wrote:
> On Thu, 5 Oct 2023 10:17:46 -0700
> "Paul E. McKenney" <paulmck@xxxxxxxxxx> wrote:
>
> > In kernels built with CONFIG_BOOT_CONFIG_FORCE=y, /proc/cmdline will
> > show all kernel boot parameters, both those supplied by the boot loader
> > and those embedded in the kernel image. This works well for those who
> > just want to see all of the kernel boot parameters, but is not helpful to
> > those who need to see only those parameters supplied by the boot loader.
> > This is especially important when these parameters are presented to the
> > boot loader by automation that might gather them from diverse sources.
> > It is also useful when booting the next kernel via kexec(), in which
> > case it is necessary to supply only those kernel command-line arguments
> > from the boot loader, and most definitely not those that were embedded
> > into the current kernel.
> >
> > Therefore, add comments to /proc/bootconfig of the form:
> >
> > # Parameters from bootloader:
> > # root=UUID=ac0f0548-a69d-43ca-a06b-7db01bcbd5ad ro quiet ...
> >
> > The second added line shows only those kernel boot parameters supplied
> > by the boot loader.
>
> Thanks for update it.
>
> This looks good to me.
>
> Acked-by: Masami Hiramatsu (Google) <mhiramat@xxxxxxxxxx>
>
> Thank you!

And thank you! I take this as meaning that I should push these three
commits for the upcoming v6.7 merge window. Please let me know if I
should be doing something else.

Thanx, Paul

> > Link: https://lore.kernel.org/all/CAHk-=wjpVAW3iRq_bfKnVfs0ZtASh_aT67bQBG11b4W6niYVUw@xxxxxxxxxxxxxx/
> > Link: https://lore.kernel.org/all/20230731233130.424913-1-paulmck@xxxxxxxxxx/
> > Co-developed-by: Masami Hiramatsu <mhiramat@xxxxxxxxxx>
> > Signed-off-by: Masami Hiramatsu <mhiramat@xxxxxxxxxx>
> > Signed-off-by: Paul E. McKenney <paulmck@xxxxxxxxxx>
> > Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
> > Cc: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
> > Cc: Arnd Bergmann <arnd@xxxxxxxxxx>
> > Cc: Nick Desaulniers <ndesaulniers@xxxxxxxxxx>
> > Cc: Alexey Dobriyan <adobriyan@xxxxxxxxx>
> > Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
> > Cc: Kees Cook <keescook@xxxxxxxxxxxx>
> > Cc: <linux-trace-kernel@xxxxxxxxxxxxxxx>
> > Cc: <linux-fsdevel@xxxxxxxxxxxxxxx>
> > ---
> > fs/proc/bootconfig.c | 6 ++++++
> > 1 file changed, 6 insertions(+)
> >
> > diff --git a/fs/proc/bootconfig.c b/fs/proc/bootconfig.c
> > index 2e244ada1f97..902b326e1e56 100644
> > --- a/fs/proc/bootconfig.c
> > +++ b/fs/proc/bootconfig.c
> > @@ -62,6 +62,12 @@ static int __init copy_xbc_key_value_list(char *dst, size_t size)
> > break;
> > dst += ret;
> > }
> > + if (ret >= 0 && boot_command_line[0]) {
> > + ret = snprintf(dst, rest(dst, end), "# Parameters from bootloader:\n# %s\n",
> > + boot_command_line);
> > + if (ret > 0)
> > + dst += ret;
> > + }
> > }
> > out:
> > kfree(key);
> > --
> > 2.40.1
> >
>
>
> --
> Masami Hiramatsu (Google) <mhiramat@xxxxxxxxxx>