TTY: check if tty->port is assigned
authorJiri Slaby <jslaby@suse.cz>
Fri, 17 Aug 2012 12:27:52 +0000 (14:27 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 17 Aug 2012 13:39:06 +0000 (06:39 -0700)
And if not, complain loudly. None in-kernel module should trigger
that, but let us find out for sure. On the other hand, all the
out-of-tree modules will hit that. Give them some time (maybe one
release) to catch up.

Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/tty_io.c

index 28c3e869ebba722c5f30bc4675b127f60889684e..41e42f13a2141f2d1472e981763afd28d446aaf9 100644 (file)
@@ -1415,6 +1415,10 @@ struct tty_struct *tty_init_dev(struct tty_driver *driver, int idx)
        if (!tty->port)
                tty->port = driver->ports[idx];
 
+       WARN_RATELIMIT(!tty->port,
+                       "%s: %s driver does not set tty->port. This will crash the kernel later. Fix the driver!\n",
+                       __func__, tty->driver->name);
+
        /*
         * Structures all installed ... call the ldisc open routines.
         * If we fail here just call release_tty to clean up.  No need