CVE-2026-99106
Сводка
по VulDB • 28.10.2026
В ядре Linux была устранена следующая уязвимость:
drm/amdgpu: освобождение диапазонов userptr при сбое CS после parser_bos
Функция amdgpu_cs_parser_bos() выделяет диапазон HMM для каждой записи userptr в списке BO и выполняет поиск пользовательских страниц. Эти диапазоны освобождаются только тогда, когда сама функция amdgpu_cs_parser_bos() завершается ошибкой или когда amdgpu_cs_submit() проверяет их под блокировкой нотификатора (notifier lock). Если функции amdgpu_cs_patch_jobs(), amdgpu_cs_vm_handling(), amdgpu_cs_sync_rings() или ранняя часть amdgpu_cs_submit() завершаются с ошибкой, ничто не освобождает эти диапазоны: ни amdgpu_cs_parser_fini(), ни amdgpu_bo_list_free() не затрагивают поле e->range.
Каждый такой CS (Command Submission) приводит к утечке диапазона, его массива hmm_pfns (8 байт на страницу BO userptr) и ссылки на BO, которую удерживает диапазон. IB (Indirect Buffer), который изменяет CS «на месте» в кольце (например, VCN) с использованием unmapped va_start, завершается ошибкой в amdgpu_cs_patch_ibs() и проходит по этому пути обработки ошибок.
Освободить диапазоны на этих путях обработки ошибок. Диапазоны, которые уже были освобождены функцией amdgpu_cs_submit(), имеют значение NULL, поэтому повторное их освобождение является пустой операцией (no-op).
(cherry picked from commit c52a9542ed7cfd527feb938bd0accada2ac8d267)
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.