Skip to content

Commit 6d76bd2

Browse files
peterhurleygregkh
authored andcommitted
n_tty: Make N_TTY ldisc receive path lockless
n_tty has a single-producer/single-consumer input model; use lockless publish instead. Use termios_rwsem to exclude both consumer and producer while changing or resetting buffer indices, eg., when flushing. Also, claim exclusive termios_rwsem to safely retrieve the buffer indices from a thread other than consumer or producer (eg., TIOCINQ ioctl). Note the read_tail is published _after_ clearing the newline indicator in read_flags to avoid racing the producer. Drop read_lock spinlock. Signed-off-by: Peter Hurley <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
1 parent a73d3d6 commit 6d76bd2

File tree

1 file changed

+92
-81
lines changed

1 file changed

+92
-81
lines changed

0 commit comments

Comments
 (0)