CVE-2026-89753: mm/vmscan: report RCU-tasks quiescent states in shrink_lruvec()

Published Sep 11, 2026
·
Updated

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

mm/vmscan: report RCU-tasks quiescent states in shrinklruvec()

I am seeing some rcutasks stalls in the Meta fleet during reclaim.

INFO: rcutasks detected stalls on tasks: 0000000088620d09: .. nvcsw: 6735/6735 holdout: 1 idlecpu: -1/8 task:GlobalCPUThread state:R running task pid:2552016 tgid:2524552 Call Trace: shrinklruvec memcgroupiter shrinknode dotrytofreepages trytofreepages allocfrozenpagesnoprof allocpagesnoprof pteallocone ptealloc handlemmfault

Nothing promises direct reclaim returns in bounded time, and the scan loop in shrinklruvec() only calls condresched(), which is a no-op on PREEMPTION kernels. Involuntary preemption is not a Tasks-RCU quiescent state, so the reclaiming task never reports one and becomes a holdout.

Upgrade it to condreschedtasksrcuqs(), which reports a quiescent state even when condresched() does nothing.

PS: This has been discussed in [1]

Affected Software

1 affected component
Linux Kernel Linux kernel

Event History

Sep 11, 2026
CVE Published
via MITRE·07:46 PM
Data Sourced
via MITRE·07:46 PM
Description

Frequently Asked Questions

1

Which systems are most likely to encounter this issue?

Systems using PREEMPTION kernels are affected when a task spends a prolonged period in direct memory reclaim through shrink_lruvec(). In that configuration, cond_resched() can be a no-op and does not report the required Tasks-RCU quiescent state.

2

How can I tell whether this is occurring on a system?

Look for RCU-tasks stall reports identifying a task as a holdout, with a call trace that includes shrink_lruvec(), mem_cgroup_iter(), shrink_node(), and direct reclaim paths such as do_try_to_free_pages() or try_to_free_pages().

3

What can be done if the system is affected?

Apply a kernel update containing the change that replaces cond_resched() in the shrink_lruvec() scan loop with cond_resched_tasks_rcu_qs(). No alternative mitigation is described in the provided information.

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