{"id":21440,"date":"2026-09-12T04:31:11","date_gmt":"2026-09-11T20:31:11","guid":{"rendered":"https:\/\/www.54iter.cn\/?vuln=cve-2026-89518"},"modified":"2026-09-12T04:31:11","modified_gmt":"2026-09-11T20:31:11","slug":"cve-2026-89518","status":"publish","type":"vuln","link":"https:\/\/www.54iter.cn\/?vuln=cve-2026-89518","title":{"rendered":"CVE-2026-89518 &#8211; In the Linux kernel, the following vulnerability has been resolved:\n\nsched_ext: Fix this_r"},"content":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>sched_ext: Fix this_rq() assumptions in dispatch kfuncs<\/p>\n<p>Under core scheduling, dispatch runs from within the core-wide pick and can<br \/>\ntarget a sibling rq, so ops.dispatch() may execute on a CPU different from<br \/>\nthe dispatched rq&#8217;s. Several kfunc paths assumed the two always coincide:<\/p>\n<p>&#8211; scx_dsq_move() decided whether an rq lock is held by testing this_rq()&#8217;s<br \/>\n  rq flags and lock-danced accordingly. A dispatch for a sibling took the<br \/>\n  unlocked-context branch and acquired the source rq lock on top of the<br \/>\n  already held dispatched rq lock which could deadlock.<\/p>\n<p>&#8211; scx_bpf_sub_dispatch() dispatched this_rq() with its stashed<br \/>\n  sub_dispatch_prev, which is NULL when dispatching for a sibling.<\/p>\n<p>&#8211; finish_dispatch(), scx_bpf_dsq_reenq() and scx_bpf_dsq_nr_queued()<br \/>\n  resolved SCX_DSQ_LOCAL to this CPU&#8217;s local DSQ rather than the dispatched<br \/>\n  rq&#8217;s. The latter two are callable from other rq-locked operations too,<br \/>\n  where SCX_DSQ_LOCAL now likewise resolves to the op&#8217;s rq. This changes<br \/>\n  behavior also without core scheduling, e.g. for ops.enqueue() running a<br \/>\n  remote wakeup on the waking CPU, and is intended: which CPU happens to<br \/>\n  execute an operation is incidental, the op&#8217;s rq is what it is operating<br \/>\n  on, and the resolution now matches the insert side where SCX_DSQ_LOCAL<br \/>\n  dispatches land on the task&#8217;s rq.<\/p>\n<p>Use the rq tracked by scx_locked_rq(), which is set to the dispatched rq<br \/>\naround ops invocations and NULL in unlocked contexts.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In the Linux kernel, the following vulnerability has been resolved:<\/p>\n<p>sched_ext: Fix this_rq() assumptions in dispatch kfuncs<\/p>\n<p>Under core scheduling, dispatch runs from within the core-wide pick and ca<\/p>\n","protected":false},"template":"","meta":[],"categories":[],"tags":[],"class_list":["post-21440","vuln","type-vuln","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/www.54iter.cn\/index.php?rest_route=\/wp\/v2\/vuln\/21440","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=21440"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=21440"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.54iter.cn\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=21440"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}