Skip to content

Commit ab818c7

Browse files
rddunlapgregkh
authored andcommitted
kgdboc: fix return value of __setup handler
__setup() handlers should return 1 to obsolete_checksetup() in init/main.c to indicate that the boot option has been handled. A return of 0 causes the boot option/value to be listed as an Unknown kernel parameter and added to init's (limited) environment strings. So return 1 from kgdboc_option_setup(). Unknown kernel command line parameters "BOOT_IMAGE=/boot/bzImage-517rc7 kgdboc=kbd kgdbts=", will be passed to user space. Run /sbin/init as init process with arguments: /sbin/init with environment: HOME=/ TERM=linux BOOT_IMAGE=/boot/bzImage-517rc7 kgdboc=kbd kgdbts= Link: lore.kernel.org/r/64644a2f-4a20-bab3-1e15-3b2cdd0defe3@omprussia.ru Fixes: 1bd54d8 ("kgdboc: Passing ekgdboc to command line causes panic") Fixes: f2d937f ("consoles: polling support, kgdboc") Cc: He Zhe <zhe.he@windriver.com> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Cc: Jiri Slaby <jirislaby@kernel.org> Cc: kgdb-bugreport@lists.sourceforge.net Cc: Jason Wessel <jason.wessel@windriver.com> Cc: Daniel Thompson <daniel.thompson@linaro.org> Cc: Douglas Anderson <dianders@chromium.org> Cc: linux-serial@vger.kernel.org Reported-by: Igor Zhbanov <i.zhbanov@omprussia.ru> Reviewed-by: Douglas Anderson <dianders@chromium.org> Signed-off-by: Randy Dunlap <rdunlap@infradead.org> Link: https://lore.kernel.org/r/20220309033018.17936-1-rdunlap@infradead.org Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
1 parent 53819a0 commit ab818c7

1 file changed

Lines changed: 3 additions & 3 deletions

File tree

drivers/tty/serial/kgdboc.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -403,16 +403,16 @@ static int kgdboc_option_setup(char *opt)
403403
{
404404
if (!opt) {
405405
pr_err("config string not provided\n");
406-
return -EINVAL;
406+
return 1;
407407
}
408408

409409
if (strlen(opt) >= MAX_CONFIG_LEN) {
410410
pr_err("config string too long\n");
411-
return -ENOSPC;
411+
return 1;
412412
}
413413
strcpy(config, opt);
414414

415-
return 0;
415+
return 1;
416416
}
417417

418418
__setup("kgdboc=", kgdboc_option_setup);

0 commit comments

Comments
 (0)