{"id":7430,"date":"2026-09-04T18:49:33","date_gmt":"2026-09-04T10:49:33","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-74446"},"modified":"2026-09-04T18:49:33","modified_gmt":"2026-09-04T10:49:33","slug":"cve-2026-74446","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-74446","title":{"rendered":"CVE-2026-74446 [HIGH] &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\ndrm\/amdkfd: hold even"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>drm\/amdkfd: hold event_mutex while checkpointing CRIU events<\/p>\n<p>kfd_criu_checkpoint_events() counts the entries in p-&gt;event_idr via<br \/>\nkfd_get_num_events(), allocates an array sized to that count, and then<br \/>\nwalks the same IDR to fill it. Neither the count nor the walk holds<br \/>\np-&gt;event_mutex.<\/p>\n<p>The CRIU checkpoint caller holds only p-&gt;mutex. Event create and destroy<br \/>\n(kfd_event_create()\/kfd_event_destroy()) take p-&gt;event_mutex and do not<br \/>\ntake p-&gt;mutex, so a second thread in the same process can insert or remove<br \/>\nevents between the count and the walk. If an event is inserted, the walk<br \/>\niterates more entries than were counted and writes past the end of the<br \/>\nev_privs allocation; if an event is removed, the walk dereferences an<br \/>\nentry that is being freed.<\/p>\n<p>Hold p-&gt;event_mutex across the count and the walk so both observe a<br \/>\nconsistent view of p-&gt;event_idr. The lock is released before<br \/>\ncopy_to_user(), which only touches the local buffer. The caller already<br \/>\nholds p-&gt;mutex and the create\/destroy paths never take p-&gt;mutex, so the<br \/>\np-&gt;mutex -&gt; p-&gt;event_mutex order is not inverted and no deadlock is<br \/>\nintroduced.<\/p>\n<p>(cherry picked from commit ff57e223ab105795b05d3ef3f3c35a5a441bcbaa)<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>drm\/amdkfd: hold event_mutex while checkpointing CRIU events<\/p>\n<p>kfd_criu_checkpoint_events() counts the entries in p-&gt;event_idr via<br \/>\nk<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-7430","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/7430","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=7430"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=7430"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=7430"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}