{"id":11204,"date":"2026-09-04T18:51:45","date_gmt":"2026-09-04T10:51:45","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-74594"},"modified":"2026-09-04T18:51:45","modified_gmt":"2026-09-04T10:51:45","slug":"cve-2026-74594","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-74594","title":{"rendered":"CVE-2026-74594 [HIGH] &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nsched\/psi: Shut down"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>sched\/psi: Shut down rtpoll_timer in psi_cgroup_free()<\/p>\n<p>psi_schedule_rtpoll_work() is called locklessly from the scheduler hotpath<br \/>\nand can race psi_trigger_destroy() taking down the last rtpoll trigger under<br \/>\nrtpoll_trigger_lock:<\/p>\n<p>  psi_schedule_rtpoll_work()        psi_trigger_destroy()<\/p>\n<p>  rcu_read_lock();<br \/>\n  task = rcu_dereference(rtpoll_task);<br \/>\n                                    rcu_assign_pointer(rtpoll_task, NULL);<br \/>\n                                    timer_delete(&amp;rtpoll_timer);<br \/>\n  mod_timer(&amp;rtpoll_timer, &#8230;);<br \/>\n  rcu_read_unlock();<br \/>\n                                    synchronize_rcu();<br \/>\n                                    kthread_stop(task_to_destroy);<\/p>\n<p>The group can then be freed with the re-armed timer still pending, and<br \/>\npoll_timer_fn() runs on freed memory.<\/p>\n<p>461daba06bdc (&#8220;psi: eliminate kthread_worker from psi trigger scheduling<br \/>\nmechanism&#8221;) deleted the timer synchronously after the synchronize_rcu(),<br \/>\nwhich prevented this but raced trigger creation instead: the deletion could<br \/>\ncancel the timer that a new trigger set armed during the grace period and,<br \/>\nas creation also reinitialized the timer at the time, corrupt it.<br \/>\n8f91efd870ea (&#8220;psi: Fix race between psi_trigger_create\/destroy&#8221;) moved the<br \/>\ninitialization into group_init() and the deletion into the locked section,<br \/>\ntrading the creation races for the window above.<\/p>\n<p>Neither placement in the destruction path works. A pending timer firing<br \/>\nwhile the group is alive is harmless though. poll_timer_fn() just wakes the<br \/>\nrtpoll waitqueue and doesn&#8217;t re-arm itself. Bind the timer to the group&#8217;s<br \/>\nlifetime instead and shut it down in psi_cgroup_free(). Nothing can arm it<br \/>\nby then. timer_shutdown_sync() because the timer is never armed again.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>sched\/psi: Shut down rtpoll_timer in psi_cgroup_free()<\/p>\n<p>psi_schedule_rtpoll_work() is called locklessly from the scheduler hotpath<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-11204","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/11204","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=11204"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=11204"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=11204"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}