| From 1ae43851b18afe861120ebd7c426dc44f06bb2bd Mon Sep 17 00:00:00 2001 |
| From: Masami Hiramatsu <mhiramat@kernel.org> |
| Date: Thu, 16 Sep 2021 15:23:12 +0900 |
| Subject: bootconfig: init: Fix memblock leak in xbc_make_cmdline() |
| |
| From: Masami Hiramatsu <mhiramat@kernel.org> |
| |
| commit 1ae43851b18afe861120ebd7c426dc44f06bb2bd upstream. |
| |
| Free unused memblock in a error case to fix memblock leak |
| in xbc_make_cmdline(). |
| |
| Link: https://lkml.kernel.org/r/163177339181.682366.8713781325929549256.stgit@devnote2 |
| |
| Fixes: 51887d03aca1 ("bootconfig: init: Allow admin to use bootconfig for kernel command line") |
| Signed-off-by: Masami Hiramatsu <mhiramat@kernel.org> |
| Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| init/main.c | 1 + |
| 1 file changed, 1 insertion(+) |
| |
| --- a/init/main.c |
| +++ b/init/main.c |
| @@ -382,6 +382,7 @@ static char * __init xbc_make_cmdline(co |
| 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(__pa(new_cmdline), len + 1); |
| return NULL; |
| } |
| |