[lvc-project] [PATCH v6.12] serial: core: fix infinite loop in handle_tx() for PORT_UNKNOWN
Fedor Pchelkin
pchelkin at ispras.ru
Fri Aug 21 18:58:09 MSK 2026
On Fri, 21. Aug 18:41, Andrey Kalachev wrote:
> Signed-off-by: Greg Kroah-Hartman <gregkh at linuxfoundation.org>
>
> [ The original patch depend on commit
> 31e0b7863c9b ("serial: rename local uart_port_lock() -> uart_port_ref_lock()")
> Remove dependency and add security warning message. ]
>
Лишние пустые строки вокруг бэкпорт-комментария.
> Signed-off-by: Andrey Kalachev <kalachev at swemel.ru>
> ---
> drivers/tty/serial/serial_core.c | 7 ++++++-
> 1 file changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/tty/serial/serial_core.c b/drivers/tty/serial/serial_core.c
> index 75272749b397..167e28a79bcf 100644
> --- a/drivers/tty/serial/serial_core.c
> +++ b/drivers/tty/serial/serial_core.c
> @@ -645,7 +645,12 @@ static unsigned int uart_write_room(struct tty_struct *tty)
> unsigned int ret;
>
> port = uart_port_lock(state, flags);
> - ret = kfifo_avail(&state->port.xmit_fifo);
> + if (!state->port.xmit_buf) {
> + printk_ratelimited(KERN_WARNING "SECURITY_ALERT: Possible CVE-2026-23472 exploit attempt! Process '%s' (PID %d) tried to write to uninitialized port on line %d.\n",
> + current->comm, current->pid, port ? port->line : -1);
Нет, кричать на каждом углу, что сработала защита от CVE, не надо,
пожалуйста. Так не делают в ядре в целом. Да и апстрим патч этого не
делает, в частности.
Это касается отправленных патчей для всех веток.
> + ret = 0;
> + } else
> + ret = kfifo_avail(&state->port.xmit_fifo);
Для else тоже должны быть фигурные скобки согласно кодстайлу. Но когда
уберёте ненужный printk, можно и без скобок.
> uart_port_unlock(port, flags);
> return ret;
> }
More information about the lvc-project
mailing list