Linux amdkfd: use-after-free race when two threads destroy the same compute queue
Impact
wait_on_destroy_queue() drops its locks while waiting for a queue resume, so a concurrent destroy can free the queue object underneath it, leaving a use-after-free in the AMD compute (KFD) queue scheduler. On an AMD GPU node this is reachable by anything that can open /dev/kfd and create and tear down HSA queues - i.e. any tenant running ROCm work on the node. A local user with GPU access can turn the freed-object window into kernel memory corruption; the CVSS vector records high confidentiality, integrity and availability impact at local, low-privilege. At minimum it is a reliable way for one tenant to panic a shared GPU node, which on a busy fleet means an unscheduled drain of every job on that host.
Who can reach it
Local user with access to /dev/kfd on an AMD GPU node - any tenant whose container or job is given the ROCm device nodes. No special privilege beyond GPU access, but the race must be won, so it may take repeated attempts.
What to do
Take the stable-tree fix for drm/amdkfd (the is_being_destroyed serialization) in your kernel and reboot each AMD GPU node; the amdgpu/amdkfd modules cannot be swapped under live GPU workloads in practice, so plan a drain-and-reboot per node rather than a live patch. No upstream mitigation exists short of denying /dev/kfd to untrusted tenants.
References
Related entries
- Linux amdkfd: missing bounds check on the CRIU-supplied SDMA queue idCVE-2026-97497 · Linux kernel amdkfd (allocate_sdma_queue restore_sdma_id bounds check)High
- Linux drm/virtio: virtio-gpu hands guest-physical addresses to the host on Xen PV, exposing another domain's memoryCVE-2026-98156 · Linux kernel drm/virtio (virtio-gpu resource backing, DMA API on Xen PV)High
- accel/amdxdna: device buffers could be exported over dma-buf when they were never meant to beCVE-2026-98436 · Linux kernel accel/amdxdna (AMD XDNA NPU device buffer dma-buf export)High
- Linux kernel drm/xe: NULL pointer dereference racing VM close against eviction of a shared BOCVE-2026-98510 · Linux kernel drm/xe (VM close path, contested VMA vs page-table teardown)High
- Linux kernel nouveau: double-free of VMM page array when client init fails on device openCVE-2026-98515 · Linux kernel nouveau (nvif_vmm_dtor client teardown)High
- Linux kernel nouveau/uvmm: use-after-free reading resource type when BO sits in TTM_PL_SYSTEMCVE-2026-98517 · Linux kernel nouveau uvmm (GPU VA bind path, TTM_PL_SYSTEM resource)High
This entry is curated: imported from vendor advisories with machine assistance, not yet individually verified. Confirm against your vendor's advisory before acting, and report anything wrong.