CVE-2025-68780: sched/deadline: only set free_cpus for online runqueues
In the Linux kernel, the following vulnerability has been resolved:
sched/deadline: only set freecpus for online runqueues
Commit 16b269436b72 ("sched/deadline: Modify cpudl::freecpus to reflect rd->online") introduced the cpudlset/clearfreecpu functions to allow the cpudl::freecpus mask to be manipulated by the deadline scheduler class rqon/offline callbacks so the mask would also reflect this state.
Commit 9659e1eeee28 ("sched/deadline: Remove cpuactivemask from cpudlfind()") removed the check of the cpuactivemask to save some processing on the premise that the cpudl::freecpus mask already reflected the runqueue online state.
Unfortunately, there are cases where it is possible for the cpudlclear function to set the freecpus bit for a CPU when the deadline runqueue is offline. When this occurs while a CPU is connected to the default root domain the flag may retain the bad state after the CPU has been unplugged. Later, a different CPU that is transitioning through the default root domain may push a deadline task to the powered down CPU when cpudlfind sees its freecpus bit is set. If this happens the task will not have the opportunity to run.
One example is outlined here: https://lore.kernel.org/lkml/20250110233010.2339521-1-opendmb@gmail.com
Another occurs when the last deadline task is migrated from a CPU that has an offlined runqueue. The dequeuetask member of the deadline scheduler class will eventually call cpudlclear and set the freecpus bit for the CPU.
This commit modifies the cpudlclear function to be aware of the online state of the deadline runqueue so that the freecpus mask can be updated appropriately.
It is no longer necessary to manage the mask outside of the cpudlset/clear functions so the cpudlset/clearfreecpu functions are removed. In addition, since the freecpus mask is now only updated under the cpudl lock the code was changed to use the non-atomic cpumask functions.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
debian/linuxto a version that resolves this vulnerability.Fixed in 6.1.176-1Fixed in 6.1.190-1Fixed in 6.12.107-1Fixed in 6.12.113-1Fixed in 7.2.12-1Fixed in 7.2.13-1
Event History
Frequently Asked Questions
What is the severity of CVE-2025-68780?
The severity of CVE-2025-68780 is currently classified as medium risk.
How do I fix CVE-2025-68780?
To fix CVE-2025-68780, update your Linux kernel to the latest stable version as per the security patch provided.
What type of systems are affected by CVE-2025-68780?
CVE-2025-68780 affects systems running specific versions of the Linux kernel that implement the sched/deadline scheduler.
What are the potential consequences of CVE-2025-68780?
The potential consequences of CVE-2025-68780 include issues with CPU scheduling and process management on affected systems.
Is CVE-2025-68780 actively being exploited?
As of now, there are no public reports indicating that CVE-2025-68780 is being actively exploited in the wild.