tty/vt: prevent registration of console with invalid number
authorSven Schnelle <svens@linux.ibm.com>
Fri, 9 Dec 2022 11:27:37 +0000 (12:27 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 19 Jan 2023 14:04:56 +0000 (15:04 +0100)
If a user specifies an invalid console like 'console=tty3000',
the vt driver should prevent setting up a vt entry for that.

Suggested-by: Jiri Slaby <jirislaby@kernel.org>
Signed-off-by: Sven Schnelle <svens@linux.ibm.com>
Link: https://lore.kernel.org/r/20221209112737.3222509-3-svens@linux.ibm.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/vt/vt.c

index 981d2bf..62c8a45 100644 (file)
@@ -3156,8 +3156,14 @@ static struct tty_driver *vt_console_device(struct console *c, int *index)
        return console_driver;
 }
 
+static int vt_console_setup(struct console *co, char *options)
+{
+       return co->index >= MAX_NR_CONSOLES ? -EINVAL : 0;
+}
+
 static struct console vt_console_driver = {
        .name           = "tty",
+       .setup          = vt_console_setup,
        .write          = vt_console_print,
        .device         = vt_console_device,
        .unblank        = unblank_screen,