CVE-2026-89980: ALSA: harmony: initialize locks before requesting IRQ
In the Linux kernel, the following vulnerability has been resolved:
ALSA: harmony: initialize locks before requesting IRQ
sndharmonycreate() registers the IRQ before initializing h->lock and h->mixerlock. A pending interrupt can invoke the handler while these locks are uninitialized.
Initialize both locks before requesting the IRQ so the handler always sees valid lock state.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Configuration
Apply the kernel fix for ALSA harmony: initialize both locks (h->mixer_lock and the handler lock) before requesting/ registering the IRQ in snd_harmony_create(), so the interrupt handler cannot run with uninitialized locks.
Linux kernel (snd_harmony) IRQ registration order vs lock initialization = Initialize mixer_lock and lock before requesting/registering the IRQ
Event History
Frequently Asked Questions
Which systems are exposed to this issue?
Systems using the Linux kernel ALSA Harmony driver may be exposed during creation of the Harmony sound device, because the vulnerable path is in snd_harmony_create().
What condition is required for the flaw to occur?
An interrupt must already be pending or arrive after the IRQ is registered but before the driver initializes its lock and mixer lock. In that window, the interrupt handler can run with invalid lock state.
What does the available fix change?
The fix initializes both the driver lock and mixer lock before requesting the IRQ, ensuring that an interrupt handler always encounters initialized locks.