Messages in this thread | | | Date | Fri, 15 May 2020 17:24:18 +0200 | From | Petr Mladek <> | Subject | Re: [PATCH] printk: handle blank console arguments passed in. |
| |
On Mon 2020-03-09 15:29:15, Shreyas Joshi wrote: > If uboot passes a blank string to console_setup then it results in a trashed memory. > Ultimately, the kernel crashes during freeing up the memory. This fix checks if there > is a blank parameter being passed to console_setup from uboot. > In case it detects that the console parameter is blank then > it doesn't setup the serial device and it gracefully exits. > > Signed-off-by: Shreyas Joshi <shreyas.joshi@biamp.com> > --- > kernel/printk/printk.c | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) > > diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c > index ad4606234545..e9ad730991e0 100644 > --- a/kernel/printk/printk.c > +++ b/kernel/printk/printk.c > @@ -2165,7 +2165,10 @@ static int __init console_setup(char *str) > char buf[sizeof(console_cmdline[0].name) + 4]; /* 4 for "ttyS" */ > char *s, *options, *brl_options = NULL; > int idx; > - > + if (str[0] == 0) { > + console_loglevel = 0;
What is the reason to set console_loglevel here, please?
> + return 1; > + }
Anyway, for example, earlycon parameter is allowed to be used with empty string when the console parameters can be set via ACPI SPCR, see param_setup_earlycon(). Therefore I am afraid that every setup() function has to handle this on its own and this patch makes sense.
Best Regards, Petr
| |