• Jiri Slaby's avatar
    TTY: n_tty, remove bogus checks · 3383427a
    Jiri Slaby authored
    * BUG_ON(!tty) in n_tty_set_termios -- it cannot be called with tty ==
      NULL. It is called from two call sites. First, from n_tty_open where
      we have a valid tty. Second, as ld->ops->set_termios from
      tty_set_termios. But there we have a valid tty too.
    * if (!tty) in n_tty_open -- why would the TTY layer call ldisc's
      open with an invalid TTY? No it indeed does not. All call sites have
      a tty and dereference that.
    * BUG_ON(!tty->read_buf) in n_tty_read -- this used to be a valid
      check. The ldisc handling was broken some time ago when I added the
      check to ensure everything is OK. It still can catch the case, but
      no later than we move the buffer to ldisc data. Then there will be
      no read_buf in tty_struct, i.e. nothing to check for.
    * if (!tty->read_buf) in n_tty_receive_buf -- this should never
      happen. All callers of ldisc->ops->receive_ops should hold a
      reference to an ldisc and close (which frees read_buf) cannot be
      called until the reference is dropped.
    * if (WARN_ON(!tty->read_buf)) in n_tty_read -- the same as in the
      previous case.
    Signed-off-by: default avatarJiri Slaby <jslaby@suse.cz>
    Acked-by: default avatarAlan Cox <alan@linux.intel.com>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    3383427a
n_tty.c 52.5 KB