{"id":"CVE-2026-99105","published":"2026-10-28T11:17:29.847","lastModified":"2026-10-28T11:17:29.847","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nsched_ext: Fix stall when a task enqueued with SCX_ENQ_LAST lands back on its CPU's local DSQ\n\nWith SCX_OPS_ENQ_LAST, the last runnable task on a CPU is passed to\nops.enqueue() instead of being kept running. Exiting tasks without\nSCX_OPS_ENQ_EXITING, migration disabled tasks without\nSCX_OPS_ENQ_MIGRATION_DISABLED and tasks on an offline rq skip ops.enqueue()\nand go straight to the local DSQ. This happens in put_prev_task_scx() after\nthe pick has settled on idle, so nothing reschedules the CPU, which idles\nwith the task queued until an unrelated wakeup lands on it or the watchdog\nfires.\n\nscx_mitosis, which sets SCX_OPS_ENQ_LAST without SCX_OPS_ENQ_EXITING, hit\nthis during mass cgroup teardown: exiting tasks stuck in exit_mmap() for\nover 40 seconds.\n\nA task put on the local DSQ runs, as anywhere else. If the SCX_ENQ_LAST\nenqueue left the task on this CPU's local DSQ, set need_resched on the task\nbeing switched in, as proxy_resched_idle() does. resched_curr() would flag\nthe task being put instead, and __schedule() clears that right after the\npick.","cvssScore":null,"cvssSeverity":null,"cvssVector":null,"cwes":[],"vendors":[],"products":[],"references":[{"url":"https://git.kernel.org/stable/c/396ba6f04da3fd1fb5a3d1c9535bef3f967f4e59","tags":[]},{"url":"https://git.kernel.org/stable/c/7a9df76679633cf26e0fea882a684012c6ec245a","tags":[]},{"url":"https://git.kernel.org/stable/c/8d891c218016b6145993e082e7f732cb69dd0e29","tags":[]}],"exploitRefs":[],"hasPoc":false,"ai":null}