console: Fix console name size mismatch
Subsystems (2)
PATCH 1/1 console: Fix console name size mismatch
commit 6ae9200f2cab7 ("enlarge console.name") increased the storage for the console name to 16 bytes, but not the corresponding struct console_cmdline::name storage. Console names longer than 8 bytes cause read beyond end-of-string and failure to match console; I'm not sure if there are other unexpected consequences.
Cc <[email protected]> # 2.6.22+
Signed-off-by Peter Hurley <[email protected]>
--- kernel/printk/console_cmdline.h | 2 +- kernel/printk/printk.c | 1 + 2 files changed, 2 insertions(+), 1 deletion(-)
kernel/printk/console_cmdline.h +1 -1
@@ -3,7 +3,7 @@struct console_cmdline { -char name[8 ];/* Name of the driver */ +char name[16 ];/* Name of the driver */ int index;/* Minor dev. to use */ char *options;/* Options for the driver */ #ifdef CONFIG_A11Y_BRAILLE_CONSOLE
kernel/printk/printk.c +1 -0
@@ -2464,6 +2464,7 @@ void register_console(struct console *newcon)for (i =0 , c = console_cmdline; i <MAX_CMDLINECONSOLES && c->name[0 ]; i++, c++) { +BUILD_BUG_ON (sizeof (c->name) !=sizeof (newcon->name));if (strcmp (c->name, newcon->name) !=0 )continue ; if (newcon->index >= 0 &&
Signature · 1 line
2.3.0