CVE-2025-38631: clk: imx95-blk-ctl: Fix synchronous abort
In the Linux kernel, the following vulnerability has been resolved:
clk: imx95-blk-ctl: Fix synchronous abort
When enabling runtime PM for clock suppliers that also belong to a power domain, the following crash is thrown: error: synchronous external abort: 0000000096000010 [#1] PREEMPT SMP Workqueue: eventsunbound deferredprobeworkfunc pstate: 60400009 (nZCv daif +PAN -UAO -TCO -DIT -SSBS BTYPE=--) pc : clkmuxgetparent+0x60/0x90 lr : clkcorereparentorphansnolock+0x58/0xd8 Call trace: clkmuxgetparent+0x60/0x90 clkcorereparentorphansnolock+0x58/0xd8 ofclkaddhwprovider.part.0+0x90/0x100 ofclkaddhwprovider+0x1c/0x38 imx95bcprobe+0x2e0/0x3f0 platformprobe+0x70/0xd8
Enabling runtime PM without explicitly resuming the device caused the power domain cut off after clkregister() is called. As a result, a crash happens when the clock hardware provider is added and attempts to access the BLKCTL register.
Fix this by using devmpmruntimeenable() instead of pmruntimeenable() and getting rid of the pmruntimedisable() in the cleanup path.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
ubuntu/linux-aws-6.14to a version that resolves this vulnerability.Fixed in 6.14.0-1017.17~24.04.1 - Upgrade
Upgrade
ubuntu/linux-azure-6.14to a version that resolves this vulnerability.Fixed in 6.14.0-1017.17~24.04.1 - Upgrade
Upgrade
ubuntu/linux-gcp-6.14to a version that resolves this vulnerability.Fixed in 6.14.0-1020.21~24.04.1 - Upgrade
Upgrade
ubuntu/linux-oem-6.14to a version that resolves this vulnerability.Fixed in 6.14.0-1016.16 - Upgrade
Upgrade
ubuntu/linux-oracle-6.14to a version that resolves this vulnerability.Fixed in 6.14.0-1017.17~24.04.1 - Upgrade
Upgrade
ubuntu/linux-riscv-6.14to a version that resolves this vulnerability.Fixed in 6.14.0-36.36.1~24.04.1 - Upgrade
Upgrade
ubuntu/linux-realtime-6.14to a version that resolves this vulnerability.Fixed in 6.14.0-1016.16~24.04.1 - Configuration
Use devm_pm_runtime_enable() instead of pm_runtime_enable(), and remove pm_runtime_disable() from the cleanup path.
Linux kernel clk: imx95-blk-ctl runtime PM enable/cleanup = devm_pm_runtime_enable()
Event History
Frequently Asked Questions
What is the severity of CVE-2025-38631?
CVE-2025-38631 has been classified with a medium severity due to its potential impact on system stability.
How do I fix CVE-2025-38631?
To fix CVE-2025-38631, updating the Linux kernel to the latest patched version is necessary.
What systems are affected by CVE-2025-38631?
CVE-2025-38631 affects Linux-based systems utilizing the kernel version prior to the fix.
What type of vulnerability is CVE-2025-38631?
CVE-2025-38631 is a vulnerability related to a synchronous abort issue in the Linux kernel's clock management.
When was CVE-2025-38631 discovered?
CVE-2025-38631 was disclosed on a specific date determined by its identification and public reporting.