{"id":6937,"date":"2026-09-04T18:49:21","date_gmt":"2026-09-04T10:49:21","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-72314"},"modified":"2026-09-04T18:49:21","modified_gmt":"2026-09-04T10:49:21","slug":"cve-2026-72314","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-72314","title":{"rendered":"CVE-2026-72314 [HIGH] &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nregulator: core: regu"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>regulator: core: regulator_lock_two() should test for EDEADLK not EDEADLOCK<\/p>\n<p>Compare against -EDEADLK, which is what ww_mutex_lock() actually<br \/>\nreturns and what every other deadlock check in this file already uses.<\/p>\n<p>Function regulator_lock_two() acquires two regulators via<br \/>\nregulator_lock_nested() -&gt; ww_mutex_lock().  On contention,<br \/>\nww_mutex_lock() returns -EDEADLK, which is the caller&#8217;s signal to drop<br \/>\nthe lock it holds and retry the acquisition in the canonical order.<\/p>\n<p>However, regulator_lock_two() tests the return value against -EDEADLOCK<br \/>\nrather than -EDEADLK.  On most architectures, EDEADLK and EDEADLOCK are<br \/>\nthe same value, so the comparison happens to be correct and the bug is<br \/>\ninvisible.  But on MIPS, SPARC, and PowerPC, those two errors have<br \/>\ndifferent values.  The test is wrong: a genuine -EDEADLK backoff no<br \/>\nlonger matches -EDEADLOCK, so instead of unlocking and retrying, the<br \/>\ncode falls into WARN_ON(ret) and returns with only one of the two<br \/>\nregulators locked.<\/p>\n<p>In practice, this is a bug only on MIPS, because the regulator core is<br \/>\nnot built or used on the other two platforms.<\/p>\n<p>In general, EDEADLK is preferred over EDEADLOCK for new code.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>regulator: core: regulator_lock_two() should test for EDEADLK not EDEADLOCK<\/p>\n<p>Compare against -EDEADLK, which is what ww_mutex_lock(<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-6937","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/6937","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln"}],"about":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/types\/vuln"}],"wp:attachment":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=6937"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=6937"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=6937"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}