GPU VulnDB

Database/Kernel, userspace & hypervisor

Linux kernel PSI: rtpoll timer can outlive its cgroup and fire on freed memory

CVE-2026-74594Kernel, userspace & hypervisorcurated

Impact

psi_schedule_rtpoll_work() runs locklessly from the scheduler hotpath and can re-arm rtpoll_timer just as psi_trigger_destroy() tears down the last trigger. The cgroup is then freed with a pending timer, and poll_timer_fn() later runs against freed memory - a use-after-free in core scheduler accounting. Anything that reads PSI pressure triggers drives this: systemd-oomd, PSI-based autoscalers and pressure-aware schedulers all open and close triggers as cgroups come and go. On a GPU node with high pod churn the race window is hit by normal operation, and the failure mode is a kernel-side UAF rather than a clean error.

Who can reach it

Local. Requires the ability to create and destroy PSI pressure triggers on cgroups (writing to cgroup psi files) concurrently with cgroup teardown - normally the container runtime or an OOM/pressure daemon, not an untrusted tenant, though a tenant able to write its own cgroup's psi files participates.

What to do

Take the patched kernel from the linked stable commits, which bind the timer to the group lifetime and shut it down with timer_shutdown_sync() in psi_cgroup_free(). Deploy and reboot each node. Disabling PSI trigger consumers (for example systemd-oomd) narrows the exposure in the interim but does not remove the code path.

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.