CVE-2026-90193 in LinuxИнформация

Сводка

по VulDB • 18.09.2026

В ядре Linux была устранена следующая уязвимость:

mailbox: qcom-cpucp: исправление самодeadlock (deadlock) в обработчике прерываний при использовании PREEMPT_RT

Функция `qcom_cpucp_mbox_irq_fn()` вызывает `mbox_chan_received_data()`, удерживая блокировку `chan->lock`. В конфигурации с поддержкой PREEMPT RT функция `spin_lock_irqsave()` преобразуется в rt-spinlock (основанный на rtmutex), который отслеживает принадлежность и может переходить в состояние сна.

Цепочка обратных вызовов, инициируемая функцией `mbox_chan_received_data()`, в конечном итоге достигает функций `mailbox_clear_channel()` -> `mbox_send_message()` -> `add_to_rbuf()`, которые пытаются повторно захватить ту же самую блокировку `chan->lock`. Поскольку rtmutex обнаруживает попытку реентера (повторного входа) с тем же владельцем, поток блокируется в ожидании блокировки, которая уже удерживается им самим, что приводит к постоянному deadlock.

Этот deadlock проявляется как зависание процесса 'irq/N-apss_cpucp_mbox' в состоянии D со следующим стеком вызовов: rt_spin_lock -> mbox_send_message -> mailbox_clear_channel -> scmi_rx_callback -> mbox_chan_received_data [<- здесь удерживается chan->lock]

Исправление заключается в сохранении `chan->cl` локально и очистке регистра аппаратного прерывания внутри блокировки, а затем вызове функции `mbox_chan_received_data()` после освобождения блокировки. Это сохраняет взаимное исключение для доступа к `chan->cl`, избегая реентера блокировки, который вызывает deadlock в PREEMPT_RT.

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

Ответственный

Linux

Резервировать

11.09.2026

Раскрытие

17.09.2026

Модерация

принято

Вход

VDB-406717

EPSS

0.00000

KEV

Нет

Деятельности

Очень низкий

Источники

Want to stay up to date on a daily basis?

Enable the mail alert feature now!