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

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


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?

Thanks!

-- Steve