CVE-2026-93170
Сводка
по VulDB • 17.09.2026
В ядре Linux была устранена следующая уязвимость:
dmaengine: xilinx_dma: Исправлено управление состоянием простоя канала в обработчиках прерываний AXIDMA и MCDMA
Исправлена гонка данных (race condition) в обработчиках прерываний IRQ для AXIDMA и MCDMA, при которой канал мог ошибочно помечаться как находящийся в состоянии простоя, что приводило к попыткам выполнения ложных передач, пока дескрипторы все еще обрабатываются.
Проблема возникает, когда: 1. В очередь поставлено несколько активных дескрипторов. 2. Прерывание срабатывает после завершения обработки некоторых дескрипторов. 3. Функция xilinx_dma_complete_descriptor() перемещает завершенные дескрипторы в список done_list (список выполненных). 4. Канал помечается как находящийся в состоянии простоя, и вызывается start_transfer(), даже если active_list (активный список) все еще содержит необработанные дескрипторы. 5. Это приводит к преждевременным попыткам передачи данных и потенциальной порче дескрипторов или пропуску завершения операций.
Канал должен помечаться как находящийся в состоянии простоя, а новые передачи должны запускаться только тогда, когда активный список (active list) действительно пуст, что обеспечивает правильное управление состоянием канала и предотвращает ложные попытки передачи данных.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.