Re: [PATCH v3 1/2] printk: Fix panic caused by passing log_buf_len to command line

From: Petr Mladek
Date: Tue Sep 25 2018 - 07:25:21 EST


On Sat 2018-09-22 23:40:51, zhe.he@xxxxxxxxxxxxx wrote:
> diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c
> index 9bf5404..d9821c0 100644
> --- a/kernel/printk/printk.c
> +++ b/kernel/printk/printk.c
> @@ -1048,7 +1048,14 @@ static void __init log_buf_len_update(unsigned size)
> /* 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) {
> + pr_err("boot command line parameter value not provided\n");

This message is too generic. It would be hard to guess what parameter was
affected. Also it is not fatal, so I would just use warning,
something like:

pr_warn("Warning: No value defined for the command line parameter: log_bug_len\n");

> + return -EINVAL;
> + }
> +
> + size = memparse(str, &str);
>
> log_buf_len_update(size);

Best Regards,
Petr