CVE-2026-72314
Description
A flaw was found in the Linux kernel's regulator core. The regulator_lock_two() function, responsible for acquiring two regulators, incorrectly checks for an error code (EDEADLOCK) instead of the correct one (EDEADLK). On certain architectures, such as MIPS, SPARC, and PowerPC, this discrepancy means that if a lock contention occurs, the system fails to properly retry the lock acquisition. This can result in the system operating with an incorrect lock state, potentially leading to system instability or a denial of service.
Statement
A flaw of low impact was found in the Linux kernel's regulator core as shipped in Red Hat Enterprise Linux 9 and 10 and Red Hat In-Vehicle OS. The regulator_lock_two() function, which acquires two regulators through the wound/wait mutex interface, compares the lock-acquisition return value against -EDEADLOCK instead of the -EDEADLK value that ww_mutex_lock() actually returns. On most architectures the two error constants have the same value, so the comparison happens to be correct and the bug is invisible; they differ only on MIPS, SPARC, and PowerPC, and in practice the regulator core is built on MIPS only of those. On such a system, when lock contention occurs, the genuine -EDEADLK backoff signal is not recognized, so instead of dropping the held lock and retrying the acquisition in canonical order, the code triggers a WARN_ON and returns with only one of the two regulators held. This incorrect lock state can lead to system instability or a local denial of service. Triggering the issue requires local access and a specific regulator lock-contention scenario, and there is no confidentiality or integrity impact. Earlier Red Hat Enterprise Linux releases (RHEL 7, RHEL 8, and the RHEL 9.2 z-stream) are not affected because the vulnerable code is not present in those kernels. For the affected streams the fix is currently deferred: given the low impact and the fact that the flawed comparison is only observable on architectures where EDEADLK and EDEADLOCK differ (practically MIPS only), the residual risk is low. The upstream CVE record assigns a higher severity (CVSS 7.8) than Red Hat (CVSS 5.5, moderate) because it assumes high confidentiality and integrity impacts; this flaw is an error-code comparison bug in a locking path that affects availability only, which is why Red Hat rates the overall impact as low.
Mitigation
Mitigation for this issue is either not available or the currently available options do not meet the Red Hat Product Security criteria comprising ease of use and deployment, applicability to widespread installation base, or stability.
Common Vulnerability Scoring System (CVSS) Score Details
Info alert:Important note
CVSS scores for open source components depend on vendor-specific factors (e.g. version or build chain). Therefore, Red Hat's score and impact rating can be different from NVD and other vendors. Red Hat remains the authoritative CVE Naming Authority (CNA) source for its products and services (see Red Hat classifications).
The following CVSS metrics and score provided are preliminary and subject to review.
CVSS v3 Score Breakdown
| Red Hat | NVD | cve.org | |
|---|---|---|---|
| Base Score | 5.5 | N/A | 7.8 |
| Attack Vector | Local | N/A | Local |
| Attack Complexity | Low | N/A | Low |
| Privileges Required | Low | N/A | Low |
| User Interaction | None | N/A | None |
| Scope | Unchanged | N/A | Unchanged |
| Confidentiality | None | N/A | High |
| Integrity Impact | None | N/A | High |
| Availability Impact | High | N/A | High |
Vector
Red Hat: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
cve.org: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Frequently Asked Questions
Not sure what something means? Check out our Security Glossary.
Want to get errata notifications? Sign up here.