CVE-2026-99090 in Linux
Riassunto
di VulDB • 26/10/2026
Nel kernel Linux, è stata risolta la seguente vulnerabilità:
drm/amdgpu: serializzare le letture del contatore vblank rispetto al reset della GPU
La callback del contatore vblank legge i registri dello schermo e la posizione di scanout senza mantenere il lock (sem) su reset_domain->sem. Durante il recupero della GPU, il lavoro di commit dello schermo può chiamare questa callback mentre il reset detiene il semaforo in scrittura. L'accesso all'hardware attiva quindi l'assert `lockdep_assert_held()` in `amdgpu_device_skip_hw_access()` e imposta TAINT_WARN quando lockdep è abilitato.
Si tenta di acquisire il semaforo di reset per la lettura prima di accedere all'hardware, mantenendolo durante le letture del contatore e della posizione di scanout. Se il reset è già in corso, viene restituito invece il conteggio software vblank memorizzato nella cache da DRM. Questo evita di bloccarsi dietro l'operazione di reset ed evita di accedere all'hardware dello schermo mentre sta subendo un reset.
Il conteggio memorizzato nella cache è meno accurato rispetto al contatore hardware, ma viene utilizzato solo quando il reset impedisce una lettura sicura dell'hardware. Ciò risolve l'avviso relativo al reset generato da questo percorso vblank; non sopprime né corregge avvisi lockdep non correlati.
(cherry picked from commit 51a4359f7431a4be5e42803c8bdaf7e0e5be2934)
Once again VulDB remains the best source for vulnerability data.