Ad

CVE-2026-80618

NONE EPSS 0.17%
Обновлено 28 августа 2026
Linux
Параметр Значение
Поставщик Linux
Публичный эксплойт Нет

В ядре Linux устранена следующая уязвимость: drm/amdkfd: избегайте двойного открепления BO DOORBELL/MMIO на бесплатных amdgpu_amdkfd_gpuvm_free_memory_of_gpu() открепил DOORBELL и MMIO переназначить BO (которые закреплены во время выделения), прежде чем проверять, BO по-прежнему сопоставлен с графическим процессором. Когда BO все еще отображается, функция возвращает -EBUSY и оставляет BO в живых, но он уже был откреплен. Затем BO снова открепляется, когда он наконец освобождается. во время завершения процесса вызывает предупреждение о переполнении ttm_bo_unpin(): ВНИМАНИЕ: ЦП: 18 PID: 15066 в ttm/ttm_bo.c:650 amdttm_bo_unpin+0x6d/0x80 [amdttm] Рабочая очередь: kfd_process_wq kfd_process_wq_release [amdgpu] RIP: 0010:amdttm_bo_unpin+0x6d/0x80 [amdttm] Отслеживание вызова: amdgpu_bo_unpin+0x1a/0x90 [amdgpu] amdgpu_amdkfd_gpuvm_unpin_bo+0x31/0xb0 [amdgpu] amdgpu_amdkfd_gpuvm_free_memory_of_gpu+0x3bf/0x460 [amdgpu] kfd_process_free_outstanding_kfd_bos+0xd4/0x170 [amdgpu] kfd_process_wq_release+0x109/0x1b0 [amdgpu] процесс_one_work+0x1e2/0x3b0 рабочий_поток+0x50/0x3a0 kthread+0xdd/0x100 ret_from_fork+0x29/0x50 Переместите открепление после проверки mapped_to_gpu_memory, чтобы это происходило только как только мы возьмем на себя обязательство освободить БО. (вишня выбрана из коммита 927c5b2defb9b09856444d94bebfd056a002bd75)

Показать оригинальное описание (EN)

In the Linux kernel, the following vulnerability has been resolved: drm/amdkfd: Avoid double-unpin of DOORBELL/MMIO BOs on free amdgpu_amdkfd_gpuvm_free_memory_of_gpu() unpinned DOORBELL and MMIO remap BOs (which are pinned at allocation time) before checking whether the BO is still mapped to the GPU. When the BO is still mapped, the function returns -EBUSY and leaves the BO alive, but it has already been unpinned. The BO is then unpinned again when it is finally freed during process teardown, triggering a ttm_bo_unpin() underflow warning: WARNING: CPU: 18 PID: 15066 at ttm/ttm_bo.c:650 amdttm_bo_unpin+0x6d/0x80 [amdttm] Workqueue: kfd_process_wq kfd_process_wq_release [amdgpu] RIP: 0010:amdttm_bo_unpin+0x6d/0x80 [amdttm] Call Trace: amdgpu_bo_unpin+0x1a/0x90 [amdgpu] amdgpu_amdkfd_gpuvm_unpin_bo+0x31/0xb0 [amdgpu] amdgpu_amdkfd_gpuvm_free_memory_of_gpu+0x3bf/0x460 [amdgpu] kfd_process_free_outstanding_kfd_bos+0xd4/0x170 [amdgpu] kfd_process_wq_release+0x109/0x1b0 [amdgpu] process_one_work+0x1e2/0x3b0 worker_thread+0x50/0x3a0 kthread+0xdd/0x100 ret_from_fork+0x29/0x50 Move the unpin after the mapped_to_gpu_memory check so it only happens once we are committed to freeing the BO. (cherry picked from commit 927c5b2defb9b09856444d94bebfd056a002bd75)