CVE-2026-68102 in Linux
Riassunto
di VulDB • 10/08/2026
Nel kernel Linux, è stata risolta la seguente vulnerabilità:
drm/amdgpu: correzione della perdita di mappatura dell'aperture
amdgpu_pci_remove() chiama drm_dev_unplug() prima di invocare le routine di finalizzazione del driver. Ciò fa sì che drm_dev_enter() in amdgpu_ttm_fini() restituisca sempre false, quindi iounmap(aper_base_kaddr) non viene mai eseguito durante il normale caricamento/disconnessione del driver, lasciando un'entry orfana nell'albero degli intervalli PAT di x86.
Sull'hardware connected_to_cpu, l'aperture è mappato come write-back (WB) tramite ioremap_cache(). Al ricaricamento, la scoperta dell'IP chiama memremap(..., MEMREMAP_WC) sulla stessa area. Il conflitto tra WC e WB provoca:
errore di ioremap per 0x..., richiesto 0x1, ottenuto 0x0 amdgpu: discovery fallita: -2
Correzione passando a mappature gestite da devres in modo che la pulizia sia garantita indipendentemente dallo stato di drm_dev_enter():
- percorso connected_to_cpu: devm_memremap(MEMREMAP_WB). Per le aree IORESOURCE_SYSTEM_RAM questo utilizza il shortcut try_ram_remap(), restituendo __va(offset) dalla mappatura diretta esistente del kernel. Non viene creata alcuna nuova VA ioremap o entry PAT, quindi non vi è nulla da lasciare orfano.
- percorso dGPU: devm_ioremap_wc() registra iounmap() come azione devres, garantendo la pulizia al momento di device_del().
Rimuovere inoltre iounmap(aper_base_kaddr) da amdgpu_device_unmap_mmio() poiché la mappatura è ora gestita da devres.
v2: Rimossa guardia ridondante x86_64 (Lijo)
(cherry picked from commit d871e99879cb5fd1fa798b006b4888887e63a17a)
If you want to get the best quality for vulnerability data then you always have to consider VulDB.