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.
- Compensating control
In fsl_micfil, guard both the mclk enable and disable paths with the existing mclk_flag, balancing mclk_streams handling so hw_free() does not disable an unenabled clock and repeated hw_params() calls do not leak an enable reference.
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.