]> git.baikalelectronics.ru Git - kernel.git/commit
serial: 8250: Don't touch RTS modem control while in rs485 mode
authorLukas Wunner <lukas@wunner.de>
Fri, 28 Feb 2020 13:31:01 +0000 (14:31 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 7 Mar 2020 08:52:01 +0000 (09:52 +0100)
commit92fae2412e8680453078a4a9f245facab031724c
tree2aa45c7185e054b6e5f6007e324c878e67eaa1ac
parent3a9f922a75d776789fabeea2f701781cf217eea8
serial: 8250: Don't touch RTS modem control while in rs485 mode

serial8250_do_set_mctrl() currently allows modifying the RTS modem
control line even when RTS is used as an rs485 Transmit Enable signal.
It is thus possible for user space to interfere with rs485 communication
by invoking a TIOCMSET ioctl().

Ignore such change requests and retain the current RTS polarity when in
rs485 mode.  Note that serial8250_set_mctrl() is always called with
port->lock held, so there's no risk that RTS is changed concurrently.

Signed-off-by: Lukas Wunner <lukas@wunner.de>
Cc: Matwey V. Kornilov <matwey@sai.msu.ru>
Link: https://lore.kernel.org/r/b1ce34ca9bc4d7bdc6e9852fcf30b1f4e37c8a80.1582895077.git.lukas@wunner.de
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/8250/8250_port.c