{"id":40993,"date":"2026-10-19T00:31:46","date_gmt":"2026-10-18T16:31:46","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-98521"},"modified":"2026-10-19T00:31:46","modified_gmt":"2026-10-18T16:31:46","slug":"cve-2026-98521","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-98521","title":{"rendered":"CVE-2026-98521 &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\ndrm\/i915: fix incorre"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>drm\/i915: fix incorrect RCU teardown order<\/p>\n<p>i915_gem_busy_ioctl uses dma_resv_for_each_fence_unlocked() to iterate<br \/>\nover the fences in an GEM object without holding a reference but only<br \/>\nthe RCU read side lock.<\/p>\n<p>What can happen here is that the GEM object is destroyed concurrently<br \/>\nwhile i915_gem_busy_ioctl is still running. This won&#8217;t free the GEM<br \/>\nobjects memory, but still drops all the dma_fence references.<\/p>\n<p>Now when dma_resv_for_each_fence_unlocked() sees a destroyed dma_fence it<br \/>\nassumes that a new fence list was installed and re-starts the loop.<\/p>\n<p>But in the case of a destroyed GEM object a new fence list is never<br \/>\ninstalled, only the old one freed and therefore the iteration never<br \/>\nfinishes resulting in an endless loop.<\/p>\n<p>The solution is to drop the fence references only after the RCU grace<br \/>\nperiod.<\/p>\n<p>The fixes tag is not necessary the patch introducing the problem, but the<br \/>\none making it so worse that we need to address it.<\/p>\n<p>This problem was pointed out by Sashiko-bot.<\/p>\n<p>(cherry picked from commit 5113479556025093bf8133bb2dcaa33be2d50921)<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>drm\/i915: fix incorrect RCU teardown order<\/p>\n<p>i915_gem_busy_ioctl uses dma_resv_for_each_fence_unlocked() to iterate<br \/>\nover the fences <\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-40993","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/40993","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=40993"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=40993"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=40993"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}