Re: [PATCH v4 1/4] bootconfig: init: Fix memblock leak in xbc_make_cmdline()

From: Steven Rostedt
Date: Wed Oct 06 2021 - 21:55:23 EST


On Thu, 7 Oct 2021 10:43:57 +0900
Masami Hiramatsu <mhiramat@xxxxxxxxxx> wrote:

> On Wed, 6 Oct 2021 21:02:16 -0400
> Steven Rostedt <rostedt@xxxxxxxxxxx> wrote:
>
> > On Thu, 16 Sep 2021 15:23:12 +0900
> > Masami Hiramatsu <mhiramat@xxxxxxxxxx> wrote:
> >
> > > Free unused memblock in a error case to fix memblock leak
> > > in xbc_make_cmdline().
> > >
> > > Fixes: 51887d03aca1 ("bootconfig: init: Allow admin to use bootconfig for kernel command line")
> > > Signed-off-by: Masami Hiramatsu <mhiramat@xxxxxxxxxx>
> > > ---
> > > init/main.c | 1 +
> > > 1 file changed, 1 insertion(+)
> > >
> > > diff --git a/init/main.c b/init/main.c
> > > index 3f7216934441..0b054fff8e92 100644
> > > --- a/init/main.c
> > > +++ b/init/main.c
> > > @@ -382,6 +382,7 @@ static char * __init xbc_make_cmdline(const char *key)
> > > ret = xbc_snprint_cmdline(new_cmdline, len + 1, root);
> > > if (ret < 0 || ret > len) {
> > > pr_err("Failed to print extra kernel cmdline.\n");
> > > + memblock_free_ptr(new_cmdline, len + 1);
> > > return NULL;
> > > }
> > >
> >
> > Hmm, looking at my patch queue, I noticed that this did not get
> > applied. I'm thinking I may have been confused with the other memory
> > freeing that was put into the xbc_destroy(), thinking this was part of
> > that. But now that I look at this patch in the context of the code, it
> > looks like this patch is required, as "new_cmdline" never gets exposed
> > on this error.
> >
> > Masami, I just want to confirm, that this patch is still relevant, right?
>
> Yes, with other 2 patches in this series ([1/4]-[3/4]), I thought you already
> queued it in your tree as you said in [1];
>
> > I'm going to leave this patch out, and just review and accept the first three patches
> > in the series.
>
> [1] https://lore.kernel.org/all/20210916164805.32592423@xxxxxxxxxxxxxxxxxx/T/#u

Bah, doing all my rebases with Linus's "nack" probably caused me to
accidentally drop this one.

>
> So, my next cleanup series [2] (including xbc_destroy_all() -> xbc_exit()) was
> based on the [1]'s first 3 patches.
>
> [2] https://lore.kernel.org/all/163187294400.2366983.7393164788107844569.stgit@devnote2/T/#u
>

I just went through my queue from as far back as August, to pick up
everything that I left behind to worry about Linux Plumbers and Open
Source Summit, and found this set in that queue. I'll be processing all
these patches in the next few days.


> If it helps, I can make these series to one series and rebase on top of your
> for-next (or ftrace/core) branch.

No, this patch should be added to my urgent tree and pushed onto Linus
(and stable).

I'm working on those patches first, then will move on to my for-next
tree.

Thanks,

-- Steve