CVE-2026-68102
Description
In the Linux kernel, the following vulnerability has been resolved: drm/amdgpu: fix aperture mapping leak amdgpu_pci_remove() calls drm_dev_unplug() before invoking the driver fini routines. This causes drm_dev_enter() in amdgpu_ttm_fini() to always return false, so iounmap(aper_base_kaddr) never runs on normal driver unload, leaving an orphaned entry in the x86 PAT interval tree. On connected_to_cpu hardware, the aperture is mapped write-back (WB) via ioremap_cache(). On reload, IP discovery calls memremap(..., MEMREMAP_WC) over the same range. The WC vs WB conflict causes: ioremap error for 0x..., requested 0x1, got 0x0 amdgpu: discovery failed: -2 Fix by switching to devres-managed mappings so cleanup is guaranteed regardless of drm_dev_enter() state: - connected_to_cpu path: devm_memremap(MEMREMAP_WB). For IORESOURCE_SYSTEM_RAM ranges this takes the try_ram_remap() shortcut, returning __va(offset) from the existing kernel direct map. No new ioremap VA or PAT entry is created, so there is nothing to orphan. - dGPU path: devm_ioremap_wc() registers iounmap() as a devres action, guaranteeing cleanup at device_del() time. Also remove iounmap(aper_base_kaddr) from amdgpu_device_unmap_mmio() since the mapping is now devres-owned. v2: Remove redundant x86_64 guard (Lijo) (cherry picked from commit d871e99879cb5fd1fa798b006b4888887e63a17a)
How to fix
- Linux Linux8cf4724ea4f23c438af87a6cd0582a3372d30da9, 67bc3647e418e23dc0d17604bdba634a73de809f, a343d028ad6c174da8dc6af560c51e6d140a6727, 6405c4e75b3bcf0e72bd7a0ff5f1ed0c475e23aa, f5988b5c300a32ff751724ffd33d5a8d5873e4a7, ea772a440d56b285f4d491affac50ecd41f6b402 or later
Affected products
| Product | Affected versions | Fixed in |
|---|---|---|
| Linux Linux | 9d0af8b4def0de6b734ec8db08e96da0458facb6 ≤ v < 8cf4724ea4f23c438af87a6cd0582a3372d30da9, 9d0af8b4def0de6b734ec8db08e96da0458facb6 ≤ v < 67bc3647e418e23dc0d17604bdba634a73de809f, 9d0af8b4def0de6b734ec8db08e96da0458facb6 ≤ v < a343d028ad6c174da8dc6af560c51e6d140a6727, 9d0af8b4def0de6b734ec8db08e96da0458facb6 ≤ v < 6405c4e75b3bcf0e72bd7a0ff5f1ed0c475e23aa, 9d0af8b4def0de6b734ec8db08e96da0458facb6 ≤ v < f5988b5c300a32ff751724ffd33d5a8d5873e4a7, 9d0af8b4def0de6b734ec8db08e96da0458facb6 ≤ v < ea772a440d56b285f4d491affac50ecd41f6b402, 5.13 | 8cf4724ea4f23c438af87a6cd0582a3372d30da9, 67bc3647e418e23dc0d17604bdba634a73de809f, a343d028ad6c174da8dc6af560c51e6d140a6727, 6405c4e75b3bcf0e72bd7a0ff5f1ed0c475e23aa, f5988b5c300a32ff751724ffd33d5a8d5873e4a7, ea772a440d56b285f4d491affac50ecd41f6b402 |
Check your version
Choose the product and enter the version you run to see whether it falls in the affected range.
Attack Surface Management
See the assets tied to your domains, the technologies they run and known vulnerabilities in one list.