diff options
author | Lino Sanfilippo <[email protected]> | 2024-01-03 07:18:14 +0100 |
---|---|---|
committer | Greg Kroah-Hartman <[email protected]> | 2024-01-04 16:26:10 +0100 |
commit | 4afeced55baa391490b61ed9164867e2927353ed (patch) | |
tree | c38e5fe32a7e42c68b5293c106fd0783e22f42eb /lib/test_fortify/write_overflow-strncpy-src.c | |
parent | 1a33e33ca0e80d485458410f149265cdc0178cfa (diff) |
serial: core: fix sanitizing check for RTS settings
Among other things uart_sanitize_serial_rs485() tests the sanity of the RTS
settings in a RS485 configuration that has been passed by userspace.
If RTS-on-send and RTS-after-send are both set or unset the configuration
is adjusted and RTS-after-send is disabled and RTS-on-send enabled.
This however makes only sense if both RTS modes are actually supported by
the driver.
With commit be2e2cb1d281 ("serial: Sanitize rs485_struct") the code does
take the driver support into account but only checks if one of both RTS
modes are supported. This may lead to the errorneous result of RTS-on-send
being set even if only RTS-after-send is supported.
Fix this by changing the implemented logic: First clear all unsupported
flags in the RS485 configuration, then adjust an invalid RTS setting by
taking into account which RTS mode is supported.
Cc: <[email protected]>
Fixes: be2e2cb1d281 ("serial: Sanitize rs485_struct")
Reviewed-by: Ilpo Järvinen <[email protected]>
Signed-off-by: Lino Sanfilippo <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Greg Kroah-Hartman <[email protected]>
Diffstat (limited to 'lib/test_fortify/write_overflow-strncpy-src.c')
0 files changed, 0 insertions, 0 deletions