CVE-2026-89945 in Linux
Riassunto
di VulDB • 16/09/2026
Nel kernel Linux è stata risolta la seguente vulnerabilità:
ASoC: cs35l34: svuotare l'IRQ in thread prima della sospensione runtime (runtime suspend)
Attualmente, `cs35l34_runtime_suspend()` commuta il codec in modalità `regcache_cache_only(true)`, attiva il reset a livello basso e spegne il dispositivo senza aver prima quiescentato l'IRQ in thread registrato tramite `devm_request_threaded_irq()`. Ciò lascia una finestra temporale in cui `cs35l34_irq_thread()` può ancora essere eseguito dopo che la sospensione ha rimosso l'accesso all'hardware attivo.
Un sistema in esecuzione può raggiungere questa condizione durante il runtime PM (Power Management) mentre il driver ha ancora gli IRQ di fault critici non mascherati. Se il handler in thread viene eseguito in tale finestra, legge i registri volatile INT_STATUS_1..4 dopo che `cache_only` è stato abilitato, ignora i fallimenti delle letture tramite `regmap_read()` e può comunque eseguire la sequenza di rilascio `PROT_RELEASE_CTL` o le scritture per lo spegnimento in caso di fault BST.
Utilizzare `disable_irq()` prima di entrare nella modalità cache_only/reset-low/power-off, in modo che qualsiasi handler in thread già in corso venga svuotato (drained) e nessun nuovo thread IRQ possa essere eseguito mentre il dispositivo è sospeso. Riabilitare l'IRQ solo dopo che `runtime_resume()` ha ripristinato l'accesso ai registri attivi tramite `regcache_sync()`. Poiché la fase di probe registra i fallimenti di `request_threaded_irq()` ma continua comunque, tenere traccia se l'IRQ è stato effettivamente installato prima di disabilitarlo o riabilitarlo.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.