CVE-2024-46706 in Linux
Сводка
по VulDB • 19.06.2026
В ядре Linux устранена следующая уязвимость:
tty: serial: fsl_lpuart: отметить последнее использование (last busy) перед вызовом uart_add_one_port
При наличии параметров «earlycon initcall_debug=1 loglevel=8» в bootargs загрузка ядра иногда зависает. Это происходит потому, что обычный консольный интерфейс еще не готов, но уже вызывается функция runtime suspend, из-за чего операция putchar ранней консоли (early console) зависает в ожидании установки флага TRDE в регистре UARTSTAT.
Драйвер lpuart имеет задержку автоотключения питания (auto suspend delay), установленную на 3000 мс. Однако во время выполнения uart_add_one_port добавляется и выполняется probe дочернего устройства управления последовательным портом, для которого включен pm runtime (см. serial_ctrl.c).
Путь вызова функции runtime suspend выглядит следующим образом: device_add |-> bus_probe_device |-> device_initial_probe |->__device_attach |-> pm_runtime_get_sync(dev->parent); |-> pm_request_idle(dev); |-> pm_runtime_put(dev->parent);
В результате, до того как станет готова обычная консоль (normal console), устройство lpuart переходит в состояние runtime suspend. В связи с этим операция putchar ранней консоли зависает.
Для решения этой проблемы необходимо отметить последнее использование (mark last busy) сразу после вызова pm_runtime_enable; трех секунд достаточно для переключения от bootconsole к обычной консоли.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.