diff options
author | Peter Hurley <peter@hurleysoftware.com> | 2014-10-16 15:33:22 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2014-11-05 16:34:36 -0800 |
commit | 6460fbbf476ad8d4f4196534c00019975b33e1db (patch) | |
tree | e3bc22df1f753a369bb23ecd4a308e605ee92d30 /drivers/tty/tty_ioctl.c | |
parent | a361858da327263e04dc521ca39091d3119ccff8 (diff) | |
download | lwn-6460fbbf476ad8d4f4196534c00019975b33e1db.tar.gz lwn-6460fbbf476ad8d4f4196534c00019975b33e1db.zip |
tty: WARN for attempted set_termios() of pty master
The pty master's termios should never be set; currently, all code
paths which call the driver's set_termios() method ensure that the
pty slave's termios is being set.
Signed-off-by: Peter Hurley <peter@hurleysoftware.com>
Reviewed-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/tty/tty_ioctl.c')
-rw-r--r-- | drivers/tty/tty_ioctl.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/tty/tty_ioctl.c b/drivers/tty/tty_ioctl.c index 62380ccf70fb..ab4562c06af4 100644 --- a/drivers/tty/tty_ioctl.c +++ b/drivers/tty/tty_ioctl.c @@ -528,6 +528,8 @@ EXPORT_SYMBOL(tty_termios_hw_change); * is a bit of layering violation here with n_tty in terms of the * internal knowledge of this function. * + * A master pty's termios should never be set. + * * Locking: termios_rwsem */ @@ -537,6 +539,8 @@ int tty_set_termios(struct tty_struct *tty, struct ktermios *new_termios) struct tty_ldisc *ld; unsigned long flags; + WARN_ON(tty->driver->type == TTY_DRIVER_TYPE_PTY && + tty->driver->subtype == PTY_TYPE_MASTER); /* * Perform the actual termios internal changes under lock. */ |