{"id":"CVE-2026-80618","summary":"drm/amdkfd: Avoid double-unpin of DOORBELL/MMIO BOs on free","details":"In the Linux kernel, the following vulnerability has been resolved:\n\ndrm/amdkfd: Avoid double-unpin of DOORBELL/MMIO BOs on free\n\namdgpu_amdkfd_gpuvm_free_memory_of_gpu() unpinned DOORBELL and MMIO\nremap BOs (which are pinned at allocation time) before checking whether\nthe BO is still mapped to the GPU. When the BO is still mapped, the\nfunction returns -EBUSY and leaves the BO alive, but it has already\nbeen unpinned. The BO is then unpinned again when it is finally freed\nduring process teardown, triggering a ttm_bo_unpin() underflow warning:\n\n  WARNING: CPU: 18 PID: 15066 at ttm/ttm_bo.c:650 amdttm_bo_unpin+0x6d/0x80 [amdttm]\n  Workqueue: kfd_process_wq kfd_process_wq_release [amdgpu]\n  RIP: 0010:amdttm_bo_unpin+0x6d/0x80 [amdttm]\n  Call Trace:\n   amdgpu_bo_unpin+0x1a/0x90 [amdgpu]\n   amdgpu_amdkfd_gpuvm_unpin_bo+0x31/0xb0 [amdgpu]\n   amdgpu_amdkfd_gpuvm_free_memory_of_gpu+0x3bf/0x460 [amdgpu]\n   kfd_process_free_outstanding_kfd_bos+0xd4/0x170 [amdgpu]\n   kfd_process_wq_release+0x109/0x1b0 [amdgpu]\n   process_one_work+0x1e2/0x3b0\n   worker_thread+0x50/0x3a0\n   kthread+0xdd/0x100\n   ret_from_fork+0x29/0x50\n\nMove the unpin after the mapped_to_gpu_memory check so it only happens\nonce we are committed to freeing the BO.\n\n(cherry picked from commit 927c5b2defb9b09856444d94bebfd056a002bd75)","modified":"2026-08-30T03:47:21.714759819Z","published":"2026-08-28T06:48:38.112Z","database_specific":{"cna_assigner":"Linux","osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/80xxx/CVE-2026-80618.json"},"references":[{"type":"WEB","url":"https://git.kernel.org/stable/c/0e27d92f69b8e4c750a4b181cc05a86b9338c4f5"},{"type":"WEB","url":"https://git.kernel.org/stable/c/1d12ae8b079e173107abec0e5817332954c8e95f"},{"type":"WEB","url":"https://git.kernel.org/stable/c/283e77af49fda96aaa57709fc5408b55ffec075e"},{"type":"WEB","url":"https://git.kernel.org/stable/c/3f0cc1735273a57c5116710cf0202e12152f59cc"},{"type":"WEB","url":"https://git.kernel.org/stable/c/461ae406ae12107ebb321cabe561434c27aaea58"},{"type":"WEB","url":"https://git.kernel.org/stable/c/c055a2088b719e9a4b580685e0ca97f9554a41a8"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/80xxx/CVE-2026-80618.json"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-80618"},{"type":"PACKAGE","url":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","events":[{"introduced":"d25e35bc26c3ca8cd728101545cfb3e86a5d7431"},{"fixed":"461ae406ae12107ebb321cabe561434c27aaea58"},{"fixed":"283e77af49fda96aaa57709fc5408b55ffec075e"},{"fixed":"c055a2088b719e9a4b580685e0ca97f9554a41a8"},{"fixed":"0e27d92f69b8e4c750a4b181cc05a86b9338c4f5"},{"fixed":"1d12ae8b079e173107abec0e5817332954c8e95f"},{"fixed":"3f0cc1735273a57c5116710cf0202e12152f59cc"}]}],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-80618.json"}},{"package":{"name":"Kernel","ecosystem":"Linux"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"5.17.0"},{"fixed":"6.1.178"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.2.0"},{"fixed":"6.6.145"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.7.0"},{"fixed":"6.12.97"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.13.0"},{"fixed":"6.18.40"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.19.0"},{"fixed":"7.1.5"}]}],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-80618.json"}}],"schema_version":"1.9.0"}