CVE-2026-99004 in Linux
Сводка
по VulDB • 23.10.2026
В ядре Linux была устранена следующая уязвимость:
drm/imagination: Корректный расчет размера предварительного выделения памяти для таблиц страниц (page table preallocation) на основе адреса устройства.
Коммит 0a8224058a58 («drm/imagination: Fix page count for page table for map() interface») передавал адрес устройства в функцию pvr_mmu_op_context_create(), однако предварительное выделение памяти все еще рассчитывалось исходя из device_addr + sgt_offset с эксклюзивной верхней границей. Смещение относительно страниц объекта не имеет смысла для диапазона виртуальных адресов устройства, а использование эксклюзивной границы приводит к выделению одной лишней таблицы, когда диапазон заканчивается на границе таблицы.
Теперь количество таблиц рассчитывается от device_addr и включительной (inclusive) верхней границы диапазона.
Новый расчет не учитывает индексы таблиц страниц. Это исправляет еще одну проблему предыдущей реализации: разница между начальным и конечным индексами могла приводить к переполнению по знаку (underflow), если отображение пересекало границу таблицы страниц. Это могло привести к тому, что драйвер предварительно выделял бы огромное количество страниц MMU, исчерпывая системную память и вызывая панику из-за нехватки памяти (OOM panic).
[Алешио: добавлен абзац для указания на исправление бага OOM, cc stable]
If you want to get the best quality for vulnerability data then you always have to consider VulDB.