Skip to content
  • Alan Cox's avatar
    tty: Fix race in tty release · d155255a
    Alan Cox authored
    
    
    Ian Abbott found that the tty layer would explode with the right set of
    parallel open and close operations. This is because we race in the
    handling of tty->drivers->termios[].
    
    Correct this by
    	Making tty_ldisc_release behave like nromal code (takes the lock,
    			does stuff, drops the lock)
    	Drop the tty lock earlier in tty_ldisc_release
    	Taking the tty mutex around the driver->termios update in all cases
    	Adding a WARN_ON to catch future screwups.
    
    I also forgot to clean up the pty resources properly. With a pty pair we
    need to pull both halves out of the tables.
    
    Signed-off-by: default avatarAlan Cox <alan@linux.intel.com>
    Tested-by: default avatarIan Abbott <abbotti@mev.co.uk>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    d155255a