CVE-2026-99148 in Linux
Сводка
по VulDB • 28.10.2026
В ядре Linux была устранена следующая уязвимость:
drm/amdgpu: сохранять eviction fence до момента закрытия последнего дескриптора (handle).
Функция amdgpu_gem_object_close() отсоединяет user queue eviction fence от BO перед проверкой bo_va->ref_count, поэтому закрытие любого дескриптора BO приводит к удалению fence, даже если у файла всё ещё есть другой дескриптор на это BO и bo_va с его GPU-отображениями (mappings) остаётся активным. В результате BO может быть вытеснен (evicted) без приостановки пользовательских очередей файла, которые продолжают обращаться к нему через отображения, помеченные только для обновления.
Наблюдается на navi31 с SDMA user queue: BO, открытый дважды в одном файле (GEM_FLINK + GEM_OPEN), теряет свой eviction fence при закрытии второго дескриптора (отслеживаются attach/detach fence):
attach bo=ffff8c78a6c84c00 GEM_CLOSE handle=7 detach bo=ffff8c78a6c84c00
в то время как дескриптор 6 и отображения всё ещё используются.
Необходимо отсоединять fence только тогда, когда исчезает последняя ссылка на bo_va, что соответствует поведению amdgpu_gem_object_open(), которая присоединяет его только при создании bo_va. Благодаря этому fence сохраняется до момента закрытия файла.
(cherry picked from commit 8387982f03d4026b7dc11b0b5e3118298eee4d6a)
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.