diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c index 09d5b8143b94..eab6a64517c3 100644 --- a/kernel/printk/printk.c +++ b/kernel/printk/printk.c @@ -837,7 +837,12 @@ static unsigned long __initdata new_log_buf_len; /* save requested log_buf_len since it's too early to process it */ static int __init log_buf_len_setup(char *str) { - unsigned size = memparse(str, &str); + unsigned int size; + + if (!str) + return -EINVAL; + + size = memparse(str, &str); if (size) size = roundup_pow_of_two(size);