{"id":"CVE-2026-89753","state":"PUBLISHED","title":"mm/vmscan: report RCU-tasks quiescent states in shrink_lruvec()","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nmm/vmscan: report RCU-tasks quiescent states in shrink_lruvec()\n\nI am seeing some rcu_tasks stalls in the Meta fleet during reclaim.\n\n  INFO: rcu_tasks detected stalls on tasks:\n\t0000000088620d09: .. nvcsw: 6735/6735 holdout: 1 idle_cpu: -1/8\n\ttask:GlobalCPUThread state:R  running task  pid:2552016 tgid:2524552\n  Call Trace:\n   shrink_lruvec\n   mem_cgroup_iter\n   shrink_node\n   do_try_to_free_pages\n   try_to_free_pages\n   __alloc_frozen_pages_noprof\n   alloc_pages_noprof\n   pte_alloc_one\n   __pte_alloc\n   handle_mm_fault\n\nNothing promises direct reclaim returns in bounded time, and the scan loop\nin shrink_lruvec() only calls cond_resched(), which is a no-op on\nPREEMPTION kernels.  Involuntary preemption is not a Tasks-RCU quiescent\nstate, so the reclaiming task never reports one and becomes a holdout.\n\nUpgrade it to cond_resched_tasks_rcu_qs(), which reports a quiescent state\neven when cond_resched() does nothing.\n\nPS: This has been discussed in [1]","publishedAt":"2026-09-11T19:46:56.806Z","updatedAt":"2026-10-19T08:52:06.974Z","severity":null,"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"8315f42295d2667a7f942f154b73a86fd7cb2227","status":"affected","lessThan":"4f50593c9cbc883d8c9b50148a3e8a8b1fd35f57","versionType":"git"},{"version":"8315f42295d2667a7f942f154b73a86fd7cb2227","status":"affected","lessThan":"4cdc1bdf40944de5c6b118fef07ad23f07844338","versionType":"git"},{"version":"8315f42295d2667a7f942f154b73a86fd7cb2227","status":"affected","lessThan":"a67a00a70a7c8309ca47ea157ef3e8ed3d268f5b","versionType":"git"},{"version":"8315f42295d2667a7f942f154b73a86fd7cb2227","status":"affected","lessThan":"029c9408049f7f582230322057b7075bea594fd5","versionType":"git"},{"version":"8315f42295d2667a7f942f154b73a86fd7cb2227","status":"affected","lessThan":"b5391676c61d94ffe3272dcf6723738b802f79e8","versionType":"git"},{"version":"8315f42295d2667a7f942f154b73a86fd7cb2227","status":"affected","lessThan":"3fd50239986302cb050d3649351bcec00fa9d5ab","versionType":"git"},{"version":"8315f42295d2667a7f942f154b73a86fd7cb2227","status":"affected","lessThan":"cf3ba0911a1cf8680371ff113b90088edd01d2bb","versionType":"git"},{"version":"8315f42295d2667a7f942f154b73a86fd7cb2227","status":"affected","lessThan":"25f52e81216884a7444bf07a606691feb09a94e3","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["mm/vmscan.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"3.18","status":"affected"},{"version":"0","status":"unaffected","lessThan":"3.18","versionType":"semver"},{"version":"5.10.270","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.221","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.188","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.157","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.109","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.50","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.2.4","status":"unaffected","lessThanOrEqual":"7.2.*","versionType":"semver"},{"version":"7.3","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["mm/vmscan.c"]}],"references":["https://git.kernel.org/stable/c/4f50593c9cbc883d8c9b50148a3e8a8b1fd35f57","https://git.kernel.org/stable/c/4cdc1bdf40944de5c6b118fef07ad23f07844338","https://git.kernel.org/stable/c/a67a00a70a7c8309ca47ea157ef3e8ed3d268f5b","https://git.kernel.org/stable/c/029c9408049f7f582230322057b7075bea594fd5","https://git.kernel.org/stable/c/b5391676c61d94ffe3272dcf6723738b802f79e8","https://git.kernel.org/stable/c/3fd50239986302cb050d3649351bcec00fa9d5ab","https://git.kernel.org/stable/c/cf3ba0911a1cf8680371ff113b90088edd01d2bb","https://git.kernel.org/stable/c/25f52e81216884a7444bf07a606691feb09a94e3"],"weaknesses":[],"ingestedAt":"2026-10-29T20:13:26.108Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/89xxx/CVE-2026-89753.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-89753","state":"PUBLISHED","datePublished":"2026-09-11T19:46:56.806Z","dateUpdated":"2026-10-19T08:52:06.974Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2026-09-11T19:38:34.763Z"},"containers":{"cna":{"title":"mm/vmscan: report RCU-tasks quiescent states in shrink_lruvec()","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nmm/vmscan: report RCU-tasks quiescent states in shrink_lruvec()\n\nI am seeing some rcu_tasks stalls in the Meta fleet during reclaim.\n\n  INFO: rcu_tasks detected stalls on tasks:\n\t0000000088620d09: .. nvcsw: 6735/6735 holdout: 1 idle_cpu: -1/8\n\ttask:GlobalCPUThread state:R  running task  pid:2552016 tgid:2524552\n  Call Trace:\n   shrink_lruvec\n   mem_cgroup_iter\n   shrink_node\n   do_try_to_free_pages\n   try_to_free_pages\n   __alloc_frozen_pages_noprof\n   alloc_pages_noprof\n   pte_alloc_one\n   __pte_alloc\n   handle_mm_fault\n\nNothing promises direct reclaim returns in bounded time, and the scan loop\nin shrink_lruvec() only calls cond_resched(), which is a no-op on\nPREEMPTION kernels.  Involuntary preemption is not a Tasks-RCU quiescent\nstate, so the reclaiming task never reports one and becomes a holdout.\n\nUpgrade it to cond_resched_tasks_rcu_qs(), which reports a quiescent state\neven when cond_resched() does nothing.\n\nPS: This has been discussed in [1]"}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"8315f42295d2667a7f942f154b73a86fd7cb2227","status":"affected","lessThan":"4f50593c9cbc883d8c9b50148a3e8a8b1fd35f57","versionType":"git"},{"version":"8315f42295d2667a7f942f154b73a86fd7cb2227","status":"affected","lessThan":"4cdc1bdf40944de5c6b118fef07ad23f07844338","versionType":"git"},{"version":"8315f42295d2667a7f942f154b73a86fd7cb2227","status":"affected","lessThan":"a67a00a70a7c8309ca47ea157ef3e8ed3d268f5b","versionType":"git"},{"version":"8315f42295d2667a7f942f154b73a86fd7cb2227","status":"affected","lessThan":"029c9408049f7f582230322057b7075bea594fd5","versionType":"git"},{"version":"8315f42295d2667a7f942f154b73a86fd7cb2227","status":"affected","lessThan":"b5391676c61d94ffe3272dcf6723738b802f79e8","versionType":"git"},{"version":"8315f42295d2667a7f942f154b73a86fd7cb2227","status":"affected","lessThan":"3fd50239986302cb050d3649351bcec00fa9d5ab","versionType":"git"},{"version":"8315f42295d2667a7f942f154b73a86fd7cb2227","status":"affected","lessThan":"cf3ba0911a1cf8680371ff113b90088edd01d2bb","versionType":"git"},{"version":"8315f42295d2667a7f942f154b73a86fd7cb2227","status":"affected","lessThan":"25f52e81216884a7444bf07a606691feb09a94e3","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["mm/vmscan.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"3.18","status":"affected"},{"version":"0","status":"unaffected","lessThan":"3.18","versionType":"semver"},{"version":"5.10.270","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.221","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.188","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.157","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.109","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.50","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.2.4","status":"unaffected","lessThanOrEqual":"7.2.*","versionType":"semver"},{"version":"7.3","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["mm/vmscan.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/4f50593c9cbc883d8c9b50148a3e8a8b1fd35f57"},{"url":"https://git.kernel.org/stable/c/4cdc1bdf40944de5c6b118fef07ad23f07844338"},{"url":"https://git.kernel.org/stable/c/a67a00a70a7c8309ca47ea157ef3e8ed3d268f5b"},{"url":"https://git.kernel.org/stable/c/029c9408049f7f582230322057b7075bea594fd5"},{"url":"https://git.kernel.org/stable/c/b5391676c61d94ffe3272dcf6723738b802f79e8"},{"url":"https://git.kernel.org/stable/c/3fd50239986302cb050d3649351bcec00fa9d5ab"},{"url":"https://git.kernel.org/stable/c/cf3ba0911a1cf8680371ff113b90088edd01d2bb"},{"url":"https://git.kernel.org/stable/c/25f52e81216884a7444bf07a606691feb09a94e3"}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-10-19T08:52:06.974Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.18","versionEndExcluding":"5.10.270"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.18","versionEndExcluding":"5.15.221"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.18","versionEndExcluding":"6.1.188"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.18","versionEndExcluding":"6.6.157"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.18","versionEndExcluding":"6.12.109"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.18","versionEndExcluding":"6.18.50"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.18","versionEndExcluding":"7.2.4"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.18","versionEndExcluding":"7.3"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}}}}}