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 - 23:42:45 EST


On Sat, Oct 07, 2023 at 10:42:09AM +0900, Masami Hiramatsu wrote:
> On Fri, 6 Oct 2023 09:52:30 -0700
> "Paul E. McKenney" <paulmck@xxxxxxxxxx> wrote:
>
> > 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.
>
> I have my bootconfig branch, so I think I should pick this and push it
> to the next window. Does it work?

That works for me, and thank you!

(And thank you for taking and fixing my whitespace errors in the
other two patches!)

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>
>
>
> --
> Masami Hiramatsu (Google) <mhiramat@xxxxxxxxxx>