set_ldisc notification fixes
Get series with b4
b4 am [email protected]Versions newest first
- v1 Latest5 patches 0 repliesNew
Patches in v1 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/5 | tty: Allow safe access to termios for set_ldisc() handlersdrivers/ | +4 | 0 replies | |
| 2/5 | serial: core: Claim port mutex for set_ldisc()drivers/ | +4 | 0 replies | |
| 3/5 | serial: core: Pass termios to set_ldisc() notificationsdrivers/ drivers/ drivers/ +4 more | +14 | 0 replies | |
| 4/5 | serial: Take uart port lock for direct *_enable_ms()drivers/ drivers/ drivers/ | +6 | 0 replies | |
| 5/5 | serial: Test/disable MSIs if switching from N_PPSdrivers/ drivers/ drivers/ | +42 | 0 replies |
Reviews trailers per patch
No Reviewed-by, Acked-by or Tested-by trailers for v1 yet.
Cover letter [PATCH -next 0/5] set_ldisc notification fixes
Hi Greg,
This patch series fixes several locking and functional problems with the .set_ldisc() notification sent by the tty core:
1) termios is used without holding termios_rwsem
2) uart port flags are changed without holding port mutex
3) several of the drivers call their enable_ms() routines directly without holding port lock
4) The set_ldisc notification will turn on modem status interrupts if the CD line is being used for N_PPS time signal, but doesn't turn modem status interrupts back off if N_PPS is being unset.
Note: this series depends on the 26-patch 'tty locking changes' series and the 10-patch 'serial core fixes' series.
Regards,
Peter Hurley (5):
tty: Allow safe access to termios for set_ldisc() handlers
serial: core: Claim port mutex for set_ldisc()
serial: core: Pass termios to set_ldisc() notifications
serial: Take uart port lock for direct *_enable_ms()
serial: Test/disable MSIs if switching from N_PPS
drivers/tty/serial/8250/8250_core.c | 27 ++++++++++++++++++++++++--- drivers/tty/serial/amba-pl010.c | 24 +++++++++++++++++++++--- drivers/tty/serial/atmel_serial.c | 11 +++++++++-- drivers/tty/serial/bfin_uart.c | 5 +++-- drivers/tty/serial/clps711x.c | 5 +++-- drivers/tty/serial/serial_core.c | 7 +++++-- drivers/tty/tty_ldisc.c | 5 ++++- include/linux/serial_core.h | 2 +- 8 files changed, 70 insertions(+), 16 deletions(-)
Signature · 1 line
2.1.3