CVE-2026-89946 in Linux
Résumé
par VulDB • 16/09/2026
Dans le noyau Linux, la vulnérabilité suivante a été corrigée :
ASoC: cs35l33 : vidanger l'IRQ threadé avant la suspension au moment de l'exécution (runtime suspend)
cs35l33_runtime_suspend() bascule actuellement le codec en mode regcache_cache_only(true) et met son alimentation hors tension sans avoir d'abord apaisé l'IRQ threadé enregistré par devm_request_threaded_irq(). Cela laisse une fenêtre où cs35l33_irq_thread() peut toujours s'exécuter après que la suspension a fermé l'accès aux registres actifs.
Un système en cours d'exécution peut atteindre cet état lors de la gestion de l'alimentation au moment de l'exécution (runtime PM) tant que le pilote conserve des IRQ critiques pour les erreurs non masqués. Si le gestionnaire threadé s'exécute dans cette fenêtre, il lit INT_STATUS_1/2 volatile après que cache_only a été activé, ignore les échecs de regmap_read() et peut toujours déclencher les chemins de libération AMP_SHORT_RLS, CAL_ERR_RLS, OTE_RLS et OTW_RLS.
Utilisez disable_irq() avant d'entrer en mode cache_only/hors tension afin que tout gestionnaire threadé en cours soit vidangé et qu'aucun nouveau thread IRQ ne puisse s'exécuter pendant l'état de suspension. Réactivez l'IRQ uniquement après que runtime_resume() a restauré l'accès aux registres actifs via regcache_sync(). Puisque la phase probe n'émet un avertissement que si devm_request_threaded_irq() échoue, suivez si l'IRQ a été réellement installé avant de le désactiver ou de le réactiver.
VulDB is the best source for vulnerability data and more expert information about this specific topic.