Centos-kernel-stream-9/drivers/tty
Peter Hurley 2aff5e2bc6 tty: Change tty lock order to master->slave
When releasing the master pty, the slave pty also needs to be locked
to prevent concurrent tty count changes for the slave pty and to
ensure that only one parallel master and slave release observe the
final close, and proceed to destruct the pty pair. Conversely, when
releasing the slave pty, locking the master pty is not necessary
(since the master's state can be inferred by the slave tty count).

Introduce tty_lock_slave()/tty_unlock_slave() which acquires/releases
the tty lock of the slave pty. Remove tty_lock_pair()/tty_unlock_pair().

Dropping the tty_lock is no longer required to re-establish a stable
lock order.

Reviewed-by: Alan Cox <alan@linux.intel.com>
Signed-off-by: Peter Hurley <peter@hurleysoftware.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2014-11-05 18:50:42 -08:00
..
hvc Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mpe/linux 2014-10-11 20:34:00 -04:00
ipwireless
serial 8250_pci: Added driver for Endrun Technologies PTP PCIe card. 2014-11-05 16:36:01 -08:00
vt tty/vt/keyboard: Resolve many shadow warnings 2014-09-08 16:30:43 -07:00
Kconfig
Makefile
amiserial.c
bfin_jtag_comm.c sched, cleanup, treewide: Remove set_current_state(TASK_RUNNING) after schedule() 2014-09-19 12:35:17 +02:00
cyclades.c
ehv_bytechan.c
goldfish.c goldfish: off by one in goldfish_tty_console_setup() 2014-11-05 16:12:45 -08:00
isicom.c
metag_da.c tty/metag_da: Add console_poll module parameter 2014-09-28 21:35:56 -04:00
moxa.c TTY: fix decimal printf format specifiers prefixed with 0x 2014-09-08 15:51:35 -07:00
moxa.h
mxser.c
mxser.h
n_gsm.c
n_hdlc.c
n_r3964.c
n_tracerouter.c
n_tracesink.c
n_tracesink.h
n_tty.c n_tty: Remove stale read lock comment 2014-11-05 16:34:36 -08:00
nozomi.c drivers/tty/nozomi.c: Use 'nozomi_setup_memory' instead of 'setup_memory' 2014-09-08 16:09:23 -07:00
pty.c pty: Always return -EIO if slave BSD pty opened first 2014-11-05 18:24:10 -08:00
rocket.c
rocket.h
rocket_int.h
synclink.c
synclink_gt.c
synclinkmp.c
sysrq.c
tty_audit.c
tty_buffer.c
tty_io.c tty: Change tty lock order to master->slave 2014-11-05 18:50:42 -08:00
tty_ioctl.c tty: Move pty-specific set_termios() handling to pty driver 2014-11-05 16:34:36 -08:00
tty_ldisc.c tty: Simplify tty_ldisc_release() interface 2014-11-05 18:42:46 -08:00
tty_ldsem.c
tty_mutex.c tty: Change tty lock order to master->slave 2014-11-05 18:50:42 -08:00
tty_port.c