CVE-2026-98093: ASoC: fsl_micfil: balance mclk enable/disable
In the Linux kernel, the following vulnerability has been resolved:
ASoC: fslmicfil: balance mclk enable/disable
hwparams() enables mclk unconditionally and hwfree() disables it unconditionally, but the PCM core does not guarantee 1:1 pairing: hwfree() can run without hwparams(), and hwparams() can be called multiple times from the SETUP state. This triggers an "already disabled" WARN() in the first case and leaks an enable reference in the second, leaving the clock ungateable.
Guard both sides with the existing mclkflag, as fslsai.c does with mclkstreams.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
ubuntu/linux-hwe-7.0to a version that resolves this vulnerability.Fixed in 7.0.0-42.42~24.04.1 - Upgrade
Upgrade
ubuntu/linux-riscv-7.0to a version that resolves this vulnerability.Fixed in 7.0.0-42.42.1~24.04.1 - Upgrade
Upgrade
ubuntu/linuxto a version that resolves this vulnerability.Fixed in 7.0.0-42.42 - Upgrade
Upgrade
ubuntu/linux-awsto a version that resolves this vulnerability.Fixed in 7.0.0-1016.17 - Upgrade
Upgrade
ubuntu/linux-gcpto a version that resolves this vulnerability.Fixed in 7.0.0-1016.18 - Upgrade
Upgrade
ubuntu/linux-ibmto a version that resolves this vulnerability.Fixed in 7.0.0-1017.17 - Upgrade
Upgrade
ubuntu/linux-oem-7.0to a version that resolves this vulnerability.Fixed in 7.0.0-1017.17 - Upgrade
Upgrade
ubuntu/linux-oracleto a version that resolves this vulnerability.Fixed in 7.0.0-1015.16 - Upgrade
Upgrade
ubuntu/linux-riscvto a version that resolves this vulnerability.Fixed in 7.0.0-42.42.1 - Configuration
Guard mclk enable and disable with the existing mclk_flag, balancing operations as fsl_sai.c does with mclk_streams; do not enable mclk unconditionally in hw_params() or disable it unconditionally in hw_free().
ASoC fsl_micfil mclk_flag = guard both mclk enable and disable operations
Event History
Frequently Asked Questions
Which systems are affected?
The issue applies to Linux kernel systems using the ASoC fsl_micfil driver and its master-clock handling. The provided data does not identify affected kernel versions or configurations.
How might an affected system behave?
A hw_free() call without a preceding hw_params() can trigger an "already disabled" WARN(). Repeated hw_params() calls from the SETUP state can leak a clock-enable reference, leaving the clock unable to be gated.