{"id":"CVE-2026-72314","title":"regulator: core: regulator_lock_two() should test for EDEADLK not EDEADLOCK","summary":"In the Linux kernel, the following vulnerability has been resolved:\n\nregulator: core: regulator_lock_two() should test for EDEADLK not EDEADLOCK\n\nCompare against -EDEADLK, which is what ww_mutex_lock() actually\nreturns and what every oth…","severity":"high","cvss":7.8,"cvssVector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","cvssSource":"cna","vendor":"Linux","product":"Linux","affected":["Linux >= 06140d6dfe720d80566f792b4e28a9cd60a67970 < dc804f390fddd9c389edf0976356942e16878d8f","Linux >= 1e3056b8067c2e9b7741c4e588f0acacbe4bdafc < 8e39aa63798ea0a797fd9341419f12ef91df3238","Linux >= 849ab4cf182b38e562ffcc1b494d510e948822dd < 0c305eac40470a224671858a215963b070f9b2a9","Linux >= cba6cfdc7c3f1516f0d08ddfb24e689af0932573 < 29a7953e9adea6c7f9e64947745b79158e7cea7f","Linux >= cba6cfdc7c3f1516f0d08ddfb24e689af0932573 < e2063307ea3b6da74585129ba7b588e8243e2ef0","Linux >= cba6cfdc7c3f1516f0d08ddfb24e689af0932573 < 346e2d666a29ae7233c56b356a0487eb1d42589b","Linux >= cba6cfdc7c3f1516f0d08ddfb24e689af0932573 < 153d1b8b5bc30847eb70ad535f62f289aa9217e6","Linux >= cba6cfdc7c3f1516f0d08ddfb24e689af0932573 < d38f8bd771c4999b797d7074b348cf201414bd34","Linux 5224ea575196db11c0a909a78ea426ccdb92f064","Linux 435c65af581a61ca249bd8f717c3a147dc119f11","Linux cdc042430ea9e07f77ce05a9d29e227dbdecc733","Linux >= 5.10.180 < 5.10.261","Linux >= 5.15.111 < 5.15.212","Linux >= 6.1.28 < 6.1.178","Linux >= 5.4.243 < 5.5","Linux >= 6.2.15 < 6.3","Linux >= 6.3.2 < 6.4","Linux 6.4"],"ssvc":{"exploitation":"none","automatable":"no","technicalImpact":"total","timestamp":"2026-10-16T18:46:32.576217Z"},"published":"2026-08-15","updated":"2026-10-16","sourceUpdated":"2026-10-16T18:55:16.999Z","source":"CVEORG","sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-72314","references":[{"url":"https://git.kernel.org/stable/c/dc804f390fddd9c389edf0976356942e16878d8f"},{"url":"https://git.kernel.org/stable/c/8e39aa63798ea0a797fd9341419f12ef91df3238"},{"url":"https://git.kernel.org/stable/c/0c305eac40470a224671858a215963b070f9b2a9"},{"url":"https://git.kernel.org/stable/c/29a7953e9adea6c7f9e64947745b79158e7cea7f"},{"url":"https://git.kernel.org/stable/c/e2063307ea3b6da74585129ba7b588e8243e2ef0"},{"url":"https://git.kernel.org/stable/c/346e2d666a29ae7233c56b356a0487eb1d42589b"},{"url":"https://git.kernel.org/stable/c/153d1b8b5bc30847eb70ad535f62f289aa9217e6"},{"url":"https://git.kernel.org/stable/c/d38f8bd771c4999b797d7074b348cf201414bd34"}],"tags":["cve.org"],"epss":0.00176,"epssPercentile":0.06682,"ingestedAt":"2026-10-16T19:46:24.410Z","slug":"CVE-2026-72314","body":"## Overview\n\nIn the Linux kernel, the following vulnerability has been resolved:\n\nregulator: core: regulator_lock_two() should test for EDEADLK not EDEADLOCK\n\nCompare against -EDEADLK, which is what ww_mutex_lock() actually\nreturns and what every other deadlock check in this file already uses.\n\nFunction regulator_lock_two() acquires two regulators via\nregulator_lock_nested() -> ww_mutex_lock().  On contention,\nww_mutex_lock() returns -EDEADLK, which is the caller's signal to drop\nthe lock it holds and retry the acquisition in the canonical order.\n\nHowever, regulator_lock_two() tests the return value against -EDEADLOCK\nrather than -EDEADLK.  On most architectures, EDEADLK and EDEADLOCK are\nthe same value, so the comparison happens to be correct and the bug is\ninvisible.  But on MIPS, SPARC, and PowerPC, those two errors have\ndifferent values.  The test is wrong: a genuine -EDEADLK backoff no\nlonger matches -EDEADLOCK, so instead of unlocking and retrying, the\ncode falls into WARN_ON(ret) and returns with only one of the two\nregulators locked.\n\nIn practice, this is a bug only on MIPS, because the regulator core is\nnot built or used on the other two platforms.\n\nIn general, EDEADLK is preferred over EDEADLOCK for new code.\n\n## Affected\n\n- `Linux >= 06140d6dfe720d80566f792b4e28a9cd60a67970 < dc804f390fddd9c389edf0976356942e16878d8f`\n- `Linux >= 1e3056b8067c2e9b7741c4e588f0acacbe4bdafc < 8e39aa63798ea0a797fd9341419f12ef91df3238`\n- `Linux >= 849ab4cf182b38e562ffcc1b494d510e948822dd < 0c305eac40470a224671858a215963b070f9b2a9`\n- `Linux >= cba6cfdc7c3f1516f0d08ddfb24e689af0932573 < 29a7953e9adea6c7f9e64947745b79158e7cea7f`\n- `Linux >= cba6cfdc7c3f1516f0d08ddfb24e689af0932573 < e2063307ea3b6da74585129ba7b588e8243e2ef0`\n- `Linux >= cba6cfdc7c3f1516f0d08ddfb24e689af0932573 < 346e2d666a29ae7233c56b356a0487eb1d42589b`\n- `Linux >= cba6cfdc7c3f1516f0d08ddfb24e689af0932573 < 153d1b8b5bc30847eb70ad535f62f289aa9217e6`\n- `Linux >= cba6cfdc7c3f1516f0d08ddfb24e689af0932573 < d38f8bd771c4999b797d7074b348cf201414bd34`\n- `Linux 5224ea575196db11c0a909a78ea426ccdb92f064`\n- `Linux 435c65af581a61ca249bd8f717c3a147dc119f11`\n- `Linux cdc042430ea9e07f77ce05a9d29e227dbdecc733`\n- `Linux >= 5.10.180 < 5.10.261`\n- `Linux >= 5.15.111 < 5.15.212`\n- `Linux >= 6.1.28 < 6.1.178`\n- `Linux >= 5.4.243 < 5.5`\n- `Linux >= 6.2.15 < 6.3`\n- `Linux >= 6.3.2 < 6.4`\n- `Linux 6.4`\n\n## Remediation\n\nRefer to the linked advisories for vendor-supplied fixes and affected version ranges.","depth":"twilight","depthScore":43,"depthScoreParts":{"impact":42.9,"likelihood":0,"exploitation":0,"ransomware":0},"changes":[]}