2021-01-04 11:30:42

by Daniel Thompson

[permalink] [raw]
Subject: Re: [PATCH] kgdbts: Passing ekgdbts to command line causes panic

On Mon, Dec 28, 2020 at 09:58:58AM +0800, Defang Bo wrote:
> Similar to commit<1bd54d851f50>("kgdboc: Passing ekgdboc to command line causes panic"),
> kgdbts_option_setup does not check input argument before passing it to strlen.
> The argument would be a NULL pointer.

Something seems to be missing here.

The ekgdbts parameter mentioned in the subject line doesn't exist so
how can including it on the kernel command line could provoke a panic.

Please can you share the kernel boot arguments you used when you tested
this patch?


Daniel.


> Signed-off-by: Defang Bo <[email protected]>
> ---
> drivers/misc/kgdbts.c | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/drivers/misc/kgdbts.c b/drivers/misc/kgdbts.c
> index 945701b..b077547 100644
> --- a/drivers/misc/kgdbts.c
> +++ b/drivers/misc/kgdbts.c
> @@ -1057,6 +1057,11 @@ static void kgdbts_run_tests(void)
>
> static int kgdbts_option_setup(char *opt)
> {
> + if (!opt) {
> + pr_err("kgdbts: config string not provided\n");
> + return -EINVAL;
> + }
> +
> if (strlen(opt) >= MAX_CONFIG_LEN) {
> printk(KERN_ERR "kgdbts: config string too long\n");
> return -ENOSPC;
> --
> 2.7.4
>