Prevent destruction of the controlling tty before tty_write_message()
can determine if the tty is safe to use.
Signed-off-by: Peter Hurley <peter@hurleysoftware.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
                         * Don't call tty_write_message() if we're in the kernel; we might
                         * be holding locks...
                         */
-                       if (user_mode(regs))
-                               tty_write_message(current->signal->tty, buf);
+                       if (user_mode(regs)) {
+                               struct tty_struct *tty = get_current_tty();
+                               tty_write_message(tty, buf);
+                               tty_kref_put(tty);
+                       }
                        buf[len-1] = '\0';      /* drop '\r' */
                        /* watch for command names containing %s */
                        printk(KERN_WARNING "%s", buf);