regulator: core: regulator_lock_two() should test for EDEADLK not EDEADLOCK
In the Linux kernel, the following vulnerability has been resolved: regulator: core: regulator_lock_two() should test for EDEADLK not EDEADLOCK Compare against -EDEADLK, which is what ww_mutex_lock() actually returns and what every other deadlock check in this file already uses. Function regulator_lock_two() acquires two regulators via regulator_lock_nested() -> ww_mutex_lock(). On contention, ww_mutex_lock() returns -EDEADLK, which is the caller's signal to drop the lock it holds and retry the acquisition in the canonical order. However, regulator_lock_two() tests the return value against -EDEADLOCK rather than -EDEADLK. On most architectures, EDEADLK and EDEADLOCK are the same value, so the comparison happens to be correct and the bug is invisible. But on MIPS, SPARC, and PowerPC, those two errors have different values. The test is wrong: a genuine -EDEADLK backoff no longer matches -EDEADLOCK, so instead of unlocking and retrying, the code falls into WARN_ON(ret) and returns with only one of the two regulators locked. In practice, this is a bug only on MIPS, because the regulator core is not built or used on the other two platforms. In general, EDEADLK is preferred over EDEADLOCK for new code.
CVE-2026-72314
Primary source · Revision 1
Imported from structured advisory data. Source references identify upstream records or fields; verify affected versions and your deployed configuration.
Security context
Source reference: cve:CVE-2026-72314
Linux
Source reference: /containers/cna/affected/0/product
- Affected versions
- Not stated in this record
- Fixed versions
- Not stated in this record
- Prerequisites
- Not stated in this record
Linux
Source reference: /containers/cna/affected/1/product
- Affected versions
- Not stated in this record
- Fixed versions
- Not stated in this record
- Prerequisites
- Not stated in this record
Structured affected-version data
Original package identities and version rules from this source.
[
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"product": "Linux",
"versions": [
{
"status": "affected",
"version": "06140d6dfe720d80566f792b4e28a9cd60a67970",
"lessThan": "dc804f390fddd9c389edf0976356942e16878d8f",
"versionType": "git"
},
{
"status": "affected",
"version": "1e3056b8067c2e9b7741c4e588f0acacbe4bdafc",
"lessThan": "8e39aa63798ea0a797fd9341419f12ef91df3238",
"versionType": "git"
},
{
"status": "affected",
"version": "849ab4cf182b38e562ffcc1b494d510e948822dd",
"lessThan": "0c305eac40470a224671858a215963b070f9b2a9",
"versionType": "git"
},
{
"status": "affected",
"version": "cba6cfdc7c3f1516f0d08ddfb24e689af0932573",
"lessThan": "29a7953e9adea6c7f9e64947745b79158e7cea7f",
"versionType": "git"
},
{
"status": "affected",
"version": "cba6cfdc7c3f1516f0d08ddfb24e689af0932573",
"lessThan": "e2063307ea3b6da74585129ba7b588e8243e2ef0",
"versionType": "git"
},
{
"status": "affected",
"version": "cba6cfdc7c3f1516f0d08ddfb24e689af0932573",
"lessThan": "346e2d666a29ae7233c56b356a0487eb1d42589b",
"versionType": "git"
},
{
"status": "affected",
"version": "cba6cfdc7c3f1516f0d08ddfb24e689af0932573",
"lessThan": "153d1b8b5bc30847eb70ad535f62f289aa9217e6",
"versionType": "git"
},
{
"status": "affected",
"version": "cba6cfdc7c3f1516f0d08ddfb24e689af0932573",
"lessThan": "d38f8bd771c4999b797d7074b348cf201414bd34",
"versionType": "git"
},
{
"status": "affected",
"version": "5224ea575196db11c0a909a78ea426ccdb92f064",
"versionType": "git"
},
{
"status": "affected",
"version": "435c65af581a61ca249bd8f717c3a147dc119f11",
"versionType": "git"
},
{
"status": "affected",
"version": "cdc042430ea9e07f77ce05a9d29e227dbdecc733",
"versionType": "git"
},
{
"status": "affected",
"version": "5.10.180",
"lessThan": "5.10.261",
"versionType": "semver"
},
{
"status": "affected",
"version": "5.15.111",
"lessThan": "5.15.212",
"versionType": "semver"
},
{
"status": "affected",
"version": "6.1.28",
"lessThan": "6.1.178",
"versionType": "semver"
},
{
"status": "affected",
"version": "5.4.243",
"lessThan": "5.5",
"versionType": "semver"
},
{
"status": "affected",
"version": "6.2.15",
"lessThan": "6.3",
"versionType": "semver"
},
{
"status": "affected",
"version": "6.3.2",
"lessThan": "6.4",
"versionType": "semver"
}
],
"programFiles": [
"drivers/regulator/core.c"
],
"defaultStatus": "unaffected"
},
{
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"vendor": "Linux",
"product": "Linux",
"versions": [
{
"status": "affected",
"version": "6.4"
},
{
"status": "unaffected",
"version": "0",
"lessThan": "6.4",
"versionType": "semver"
},
{
"status": "unaffected",
"version": "5.10.261",
"versionType": "semver",
"lessThanOrEqual": "5.10.*"
},
{
"status": "unaffected",
"version": "5.15.212",
"versionType": "semver",
"lessThanOrEqual": "5.15.*"
},
{
"status": "unaffected",
"version": "6.1.178",
"versionType": "semver",
"lessThanOrEqual": "6.1.*"
},
{
"status": "unaffected",
"version": "6.6.145",
"versionType": "semver",
"lessThanOrEqual": "6.6.*"
},
{
"status": "unaffected",
"version": "6.12.97",
"versionType": "semver",
"lessThanOrEqual": "6.12.*"
},
{
"status": "unaffected",
"version": "6.18.40",
"versionType": "semver",
"lessThanOrEqual": "6.18.*"
},
{
"status": "unaffected",
"version": "7.1.5",
"versionType": "semver",
"lessThanOrEqual": "7.1.*"
},
{
"status": "unaffected",
"version": "7.2",
"versionType": "original_commit_for_fix",
"lessThanOrEqual": "*"
}
],
"programFiles": [
"drivers/regulator/core.c"
],
"defaultStatus": "affected"
}
]- Related CVEs
- CVE-2026-72314
Source reference:
/cveMetadata/cveId
Publisher severity
high
Source reference: /containers/cna/metrics
- Event
- #33018 · Revision 1
- Added to Heist Feed
- Publisher date