{"id":21686,"date":"2026-09-12T04:31:31","date_gmt":"2026-09-11T20:31:31","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-89764"},"modified":"2026-09-12T04:31:31","modified_gmt":"2026-09-11T20:31:31","slug":"cve-2026-89764","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-89764","title":{"rendered":"CVE-2026-89764 &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nrust: devres: fix rac"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>rust: devres: fix race between concurrent revokers<\/p>\n<p>There is a potential race condition when two paths try to revoke a<br \/>\nDevres concurrently.<\/p>\n<p>The driver core&#8217;s devres_release_all() calls Revocable::revoke() via the<br \/>\nrelease callback, while Devres::drop() calls revoke_nosync() on another<br \/>\nCPU.<\/p>\n<p>The revoker that does not claim the is_available swap returns<br \/>\nimmediately, but the revoker that did may still be executing<br \/>\ndrop_in_place() on the inner data. This can cause a use-after-free when<br \/>\nthe other revoker&#8217;s caller proceeds to drop adjacent resources that<br \/>\ndrop_in_place() still references (e.g., Devres racing with<br \/>\nSGTable freeing the backing sg_table and pages).<\/p>\n<p>Fix this by adding a Completion. The release callback signals the<br \/>\nCompletion after revoke() finishes, and Devres::drop() waits for it when<br \/>\nit loses the is_available swap. This ensures the wrapped object is fully<br \/>\ntorn down before Devres::drop() returns.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>rust: devres: fix race between concurrent revokers<\/p>\n<p>There is a potential race condition when two paths try to revoke a<br \/>\nDevres concu<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-21686","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/21686","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=21686"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=21686"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=21686"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}