GPU VulnDB

Database/Kernel, userspace & hypervisor

Linux kernel sched_ext: BUG_ON panic when a DSQ is destroyed before a deferred re-enqueue runs

UnscoredCVE-2026-89516Kernel, userspace & hypervisorcurated

Impact

scx_bpf_dsq_reenq() queues deferred work that runs later from run_deferred(), and destroy_dsq() does not flush those pending items. If the DSQ goes away first, process_deferred_reenq_users() sees SCX_DSQ_INVALID and hits a BUG_ON, panicking the host. This only matters on nodes running a sched_ext BPF scheduler that uses dsq_reenq and destroys DSQs at runtime - a growing pattern in GPU and HPC clusters that tune placement, but not a default configuration. Loading a sched_ext scheduler takes root, so the realistic failure is a self-inflicted panic from a scheduler reconfiguration rather than a tenant attack; the cost is still every job on the node.

Who can reach it

Local root, via a loaded sched_ext BPF scheduler that calls scx_bpf_dsq_reenq() and destroys DSQs. Not reachable by unprivileged users or tenants, and not reachable at all without CONFIG_SCHED_CLASS_EXT and a loaded scheduler.

What to do

Update to a kernel where process_deferred_reenq_users() reads dsq->id once with READ_ONCE() and skips a destroyed DSQ (two stable commits linked), then reboot the node. As an interim measure, avoid destroying DSQs at runtime in your scheduler, or fall back to the in-tree scheduler on affected nodes. No fixed release numbers appear in the record.

References

Related entries

All Kernel, userspace & hypervisor entries

This entry is curated: imported from vendor advisories with machine assistance, not yet individually verified. Confirm against your vendor's advisory before acting, and report anything wrong.