Re: [PATCH v2] tty: Fix WARNING in tty_set_termios()

From: shuah
Date: Fri Feb 01 2019 - 18:20:38 EST


On 2/1/19 2:28 AM, Johan Hovold wrote:
On Thu, Jan 31, 2019 at 04:23:59PM -0700, Shuah Khan wrote:
tty_set_termios() has the following WARN_ON which can be triggered with a
syscall to invoke TIOCSETD __NR_ioctl.

That's the only way to set the hci line discipline. And it's the
consequent ioctl that sets the uart protocol that triggers the warning,
but only if the tty is a pty master, as I mentioned before.

WARN_ON(tty->driver->type == TTY_DRIVER_TYPE_PTY &&
tty->driver->subtype == PTY_TYPE_MASTER);
Reference: https://syzkaller.appspot.com/bug?id=2410d22f1d8e5984217329dd0884b01d99e3e48d

The problem started with commit 7721383f4199 ("Bluetooth: hci_uart: Support
operational speed during setup") which introduced a new way for how
tty_set_termios() could end up being called for a master pty.

Please always include reviewers on CC, and especially if you end up
citing them directly as you do here. Perhaps add quotation marks or at
least a reference to the discussion where this solution was suggested.


Thanks for the feedback. I am folding in your and Marcel's input in my
v3.

thanks,
-- Shuah