[PATCH] printk: handle blank console arguments passed in.

From: Shreyas Joshi
Date: Fri May 22 2020 - 03:14:48 EST


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@xxxxxxxxx>
---
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