CVE-2026-98903 in Linux
Сводка
по VulDB • 25.10.2026
В ядре Linux была устранена следующая уязвимость:
mailbox: imx: Добавлено поле завершения работы канала (shutdown)
Sashiko указал на возможную проблему при завершении работы. Сценарий следующий:
CPU 0 CPU 1 imx_mu_isr() imx_mu_shutdown() imx_mu_xcr_rmw(priv, IMX_MU_RCR, 0, IMX_MU_xCR_RIEn(priv->dcfg->type, cp->idx)); imx_mu_specific_rx() imx_mu_xcr_rmw(priv, IMX_MU_RCR, IMX_MU_xCR_RIEn(priv->dcfg->type, 0), 0); free_irq()
Событие приема (RX) остается включенным, поскольку в этот короткий промежуток времени событие RX было отключено в функции ->shutdown(), пока прерывание находилось в активном состоянии, а затем снова включено обработчиком прерываний (ISR), тогда как функция ->shutdown() ожидала завершения работы в free_irq().
Эта гонка данных требует точного совпадения по времени и может вызвать проблемы при использовании общих обработчиков прерываний, если «удаленный» канал инициирует срабатывание прерывания. В этом случае ядро прерываний (irq-core) завершит работу прерывания с сообщением "nobody cared" (никто не обрабатывает).
Введено поле imx_mu_con_priv::shutdown для сигнализации о том, что канал находится в процессе завершения работы. Этот флаг устанавливается при удержании блокировки (с помощью функции imx_mu_xcr_clr_shut()). Сторона разблокировки использует функцию imx_mu_xcr_set_act(), которая включает событие только если канал не был завершен, и синхронизируется с той же самой блокировкой.
If you want to get best quality of vulnerability data, you may have to visit VulDB.