linux-stable/kernel/printk
Randy Dunlap c2b7f61f52 printk: fix return value of printk.devkmsg __setup handler
[ Upstream commit b665eae7a7 ]

If an invalid option value is used with "printk.devkmsg=<value>",
it is silently ignored.
If a valid option value is used, it is honored but the wrong return
value (0) is used, indicating that the command line option had an
error and was not handled. This string is not added to init's
environment strings due to init/main.c::unknown_bootoption()
checking for a '.' in the boot option string and then considering
that string to be an "Unused module parameter".

Print a warning message if a bad option string is used.
Always return 1 from the __setup handler to indicate that the command
line option has been handled.

Fixes: 750afe7bab ("printk: add kernel parameter to control writes to /dev/kmsg")
Signed-off-by: Randy Dunlap <rdunlap@infradead.org>
Reported-by: Igor Zhbanov <i.zhbanov@omprussia.ru>
Link: lore.kernel.org/r/64644a2f-4a20-bab3-1e15-3b2cdd0defe3@omprussia.ru
Cc: Borislav Petkov <bp@suse.de>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Petr Mladek <pmladek@suse.com>
Cc: Sergey Senozhatsky <senozhatsky@chromium.org>
Cc: Steven Rostedt <rostedt@goodmis.org>
Cc: John Ogness <john.ogness@linutronix.de>
Reviewed-by: John Ogness <john.ogness@linutronix.de>
Reviewed-by: Sergey Senozhatsky <senozhatsky@chromium.org>
Reviewed-by: Petr Mladek <pmladek@suse.com>
Signed-off-by: Petr Mladek <pmladek@suse.com>
Link: https://lore.kernel.org/r/20220228220556.23484-1-rdunlap@infradead.org
Signed-off-by: Sasha Levin <sashal@kernel.org>
2022-04-08 13:57:50 +02:00
..
braille.c printk: Replace strncmp() with str_has_prefix() 2019-08-16 09:54:08 +02:00
braille.h
console_cmdline.h printk: Fix preferred console selection with multiple matches 2020-02-18 09:34:42 +01:00
index.c printk: avoid -Wsometimes-uninitialized warning 2021-10-04 10:28:43 +02:00
internal.h printk: fix build warning when CONFIG_PRINTK=n 2022-01-22 08:33:36 +02:00
Makefile printk: move printk sysctl to printk/sysctl.c 2022-01-22 08:33:35 +02:00
printk.c printk: fix return value of printk.devkmsg __setup handler 2022-04-08 13:57:50 +02:00
printk_ringbuffer.c Merge branch 'printk-rework' into for-linus 2021-01-21 16:06:21 +01:00
printk_ringbuffer.h printk: rectify kernel-doc for prb_rec_init_wr() 2021-01-26 11:17:51 +01:00
printk_safe.c printk: remove NMI tracking 2021-07-26 15:09:44 +02:00
sysctl.c printk: Fix incorrect __user type in proc_dointvec_minmax_sysadmin() 2022-02-03 11:27:38 -08:00