{"id":"CVE-2026-89519","revision":"a7b87f7c06804677a578a9faf38e2eb9","records":[{"revision":"a7b87f7c06804677a578a9faf38e2eb9","observedAt":"2026-10-23T15:48:27.903+00:00","statement":{"source":"cve-program","id":"CVE-2026-89519","aliases":[],"title":"sched_ext: Replace SCX_RQ_BAL_KEEP with a dispatch verdict return","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nsched_ext: Replace SCX_RQ_BAL_KEEP with a dispatch verdict return\n\nSCX_RQ_BAL_KEEP tells the pick to keep running the previous task, a leftover\nfrom when balancing and picking were separate operations. An rq-level flag\nonly works while dispatches and picks pair up one to one, which core\nscheduling breaks: selections interleave through dispatch's lock drops and a\npick can consume a stale flag, keeping a task that has since been dequeued.\nFixing core scheduling support requires the decision to travel with the\ndispatch that made it. Make scx_dispatch_sched() and balance_one() return an\nexplicit verdict instead and drop the flag's plumbing from the tools autogen\nenum headers.\n\nAlso factor the pick-side invocation, its follow-up queueing and the\npost-dispatch checks out of do_pick_task_scx() into dispatch_pick(). No\nfunctional changes intended.\n\nv2: Drop the SCX_RQ_BAL_KEEP plumbing from the tools autogen enum headers\n    as well (Andrea).","state":0,"publishedAt":"2026-09-11T19:44:01.858+00:00","modifiedAt":"2026-10-19T08:48:10.533+00:00","affected":[{"ecosystem":"Vendor product","name":"Linux","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"product\": \"Linux\",\n                    \"vendor\": \"Linux\",\n                    \"defaultStatus\": \"unaffected\",\n                    \"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\n                    \"programFiles\": [\n                        \"kernel/sched/ext/ext.c\",\n                        \"kernel/sched/sched.h\",\n                        \"tools/sched_ext/include/scx/enum_defs.autogen.h\",\n                        \"tools/sched_ext/include/scx/enums.autogen.bpf.h\",\n                        \"tools/sched_ext/include/scx/enums.autogen.h\"\n                    ],\n                    \"versions\": [\n                        {\n                            \"version\": \"4c95380701f58b8112f0b891de8d160e4199e19d\",\n                            \"lessThan\": \"6f1d3bfe54430f8d54e0530a27f2ecbf8466576e\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        },\n                        {\n                            \"version\": \"4c95380701f58b8112f0b891de8d160e4199e19d\",\n                            \"lessThan\": \"ffaab58d217581cb75353168f8812a16e10463fc\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"git\"\n                        }\n                    ]\n                }"},{"ecosystem":"Vendor product","name":"Linux","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"product\": \"Linux\",\n                    \"vendor\": \"Linux\",\n                    \"defaultStatus\": \"affected\",\n                    \"repo\": \"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git\",\n                    \"programFiles\": [\n                        \"kernel/sched/ext/ext.c\",\n                        \"kernel/sched/sched.h\",\n                        \"tools/sched_ext/include/scx/enum_defs.autogen.h\",\n                        \"tools/sched_ext/include/scx/enums.autogen.bpf.h\",\n                        \"tools/sched_ext/include/scx/enums.autogen.h\"\n                    ],\n                    \"versions\": [\n                        {\n                            \"version\": \"6.19\",\n                            \"status\": \"affected\"\n                        },\n                        {\n                            \"version\": \"0\",\n                            \"lessThan\": \"6.19\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"7.2.4\",\n                            \"lessThanOrEqual\": \"7.2.*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        },\n                        {\n                            \"version\": \"7.3\",\n                            \"lessThanOrEqual\": \"*\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"original_commit_for_fix\"\n                        }\n                    ]\n                }"}],"metrics":[],"references":["https://git.kernel.org/stable/c/6f1d3bfe54430f8d54e0530a27f2ecbf8466576e","https://git.kernel.org/stable/c/ffaab58d217581cb75353168f8812a16e10463fc"],"sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-89519","license":"CVE Program Terms of Use","key":"cve-program:CVE-2026-89519","identifiers":["CVE-2026-89519"]},"retained":false,"historicalAffected":[]}],"coverage":[]}