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.jo...@biamp.com> --- V1: Fixed console_loglevel to default as per the review comments 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) { + return 1; + } if (_braille_console_setup(&str, &brl_options)) return 1; -- 2.20.1