CVE-2026-74594: sched/psi: Shut down rtpoll_timer in psi_cgroup_free()

Published Aug 22, 2026
·
Updated

In the Linux kernel, the following vulnerability has been resolved:

sched/psi: Shut down rtpolltimer in psicgroupfree()

psischedulertpollwork() is called locklessly from the scheduler hotpath and can race psitriggerdestroy() taking down the last rtpoll trigger under rtpolltriggerlock:

psischedulertpollwork() psitriggerdestroy()

rcureadlock(); task = rcudereference(rtpolltask); rcuassignpointer(rtpolltask, NULL); timerdelete(&rtpolltimer); modtimer(&rtpolltimer, ...); rcureadunlock(); synchronizercu(); kthreadstop(tasktodestroy);

The group can then be freed with the re-armed timer still pending, and polltimerfn() runs on freed memory.

461daba06bdc ("psi: eliminate kthreadworker from psi trigger scheduling mechanism") deleted the timer synchronously after the synchronizercu(), which prevented this but raced trigger creation instead: the deletion could cancel the timer that a new trigger set armed during the grace period and, as creation also reinitialized the timer at the time, corrupt it. 8f91efd870ea ("psi: Fix race between psitriggercreate/destroy") moved the initialization into groupinit() and the deletion into the locked section, trading the creation races for the window above.

Neither placement in the destruction path works. A pending timer firing while the group is alive is harmless though. polltimerfn() just wakes the rtpoll waitqueue and doesn't re-arm itself. Bind the timer to the group's lifetime instead and shut it down in psicgroupfree(). Nothing can arm it by then. timershutdownsync() because the timer is never armed again.

Affected Software

2 affected componentsFixes available
Linux Linux kernel
Microsoft azl3 kernel 6.6.150.1-1<6.6.152.1-1
6.6.152.1-1

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade to a fixed release to a version that resolves this vulnerability.

    Fixed in 6.6.152.1-1

Event History

Aug 22, 2026
CVE Published
via MITRE·03:31 PM
Data Sourced
via MITRE·03:31 PM
DescriptionSeverity
Data Sourced
via NVD·04:16 PM
DescriptionSeverity
Aug 24, 2026
Data Sourced
via Microsoft·08:10 AM
DescriptionSeverityWeaknessAffected Software

Frequently Asked Questions

1

Which systems are exposed to this race condition?

Systems are exposed when PSI cgroup real-time polling triggers are in use and the last rtpoll trigger is destroyed while scheduler-path activity can still schedule rtpoll work. The race can leave the rtpoll timer re-armed after the associated PSI group is freed.

2

What is the resulting failure mode?

The pending timer can later invoke poll_timer_fn() using memory belonging to a freed PSI group. This is a use-after-free condition.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203