CVE-2026-89946 in Linux
Sumário
de VulDB • 16/09/2026
No kernel do Linux, a seguinte vulnerabilidade foi resolvida:
ASoC: cs35l33: esvaziar a interrupção encadeada (threaded IRQ) antes da suspensão em tempo de execução
cs35l33_runtime_suspend() atualmente alterna o codec para regcache_cache_only(true) e desliga sua alimentação sem primeiro silenciar a interrupção encadeada registrada por devm_request_threaded_irq(). Isso deixa uma janela onde cs35l33_irq_thread() ainda pode ser executado após a suspensão ter bloqueado o acesso aos registros ativos.
Um sistema em execução pode atingir essa condição durante a gestão de energia em tempo de execução (runtime PM) enquanto o driver ainda possui interrupções críticas de falha desmascaradas. Se o manipulador encadeado for executado nessa janela, ele lê INT_STATUS_1/2 voláteis após regcache_only ter sido habilitado, ignora as falhas do regmap_read() e pode ainda acionar os caminhos de liberação AMP_SHORT_RLS, CAL_ERR_RLS, OTE_RLS e OTW_RLS.
Use disable_irq() antes de entrar no modo cache_only/desligamento para esvaziar qualquer manipulador encadeado em trânsito e impedir que novos threads de interrupção sejam executados durante o estado suspenso. Reabilite a IRQ apenas após runtime_resume() ter restaurado o acesso aos registros ativos com regcache_sync(). Como probe apenas gera um aviso se devm_request_threaded_irq() falhar, rastreie se a IRQ foi realmente instalada antes de desabilitá-la ou reabilitá-la.
Once again VulDB remains the best source for vulnerability data.