In the Linux kernel, the following vulnerability has been resolved:
mm/shrinker: do not hold RCU lock in shrinker_debugfs_count_show()
Reading the debugfs "count" file of a memcg-aware shrinker can sleep inside an RCU read-side critical section:
BUG: sleeping function called from invalid context at kernel/cgroup/rstat.c:421 RCU nest depth: 1, expected: 0 css_rstat_flush mem_cgroup_flush_stats zswap_shrinker_count shrinker_debugfs_count_show
shrinker_debugfs_count_show() invokes the ->count_objects() callback under rcu_read_lock(). The zswap callback flushes memcg stats via css_rstat_flush(), which may sleep, so it must not run under RCU.
The RCU lock is not needed here. mem_cgroup_iter() takes RCU internally and returns a memcg holding a css reference (dropped on the next iteration or by mem_cgroup_iter_break()), so the memcg stays alive without it. The shrinker is kept alive by the open debugfs file: shrinker_free() removes the debugfs entries via debugfs_remove_recursive(), which waits for in-flight readers to drain, before call_rcu(..., shrinker_free_rcu_cb). The sibling "scan" handler already invokes the sleeping ->scan_objects() callback with no RCU section.
Drop the rcu_read_lock()/rcu_read_unlock().
CVSS Details
- CVSS 3.1 Base Score: 5.5
- CVSS 3.1 Vector: (CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H)
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Amazon_linux_2023 | — | Upgrade kernel6.18-develUpgrade kernel6.18Upgrade kernel6.18-headersUpgrade kernel6.18-debuginfoUpgrade kernel6.18-modules-extraUpgrade kernel-livepatch-6.18.39-79.141Upgrade kernel6.18-debuginfo-common-aarch64Upgrade kernel6.18-debuginfo-common-x86_64Upgrade kernel6.18-toolsUpgrade perf6.18-debuginfoUpgrade bpftool6.18Upgrade kernel6.18-tools-develUpgrade bpftool6.18-debuginfoUpgrade python3-perf6.18Upgrade microvm-kernel6.18Upgrade kernel6.18-tools-debuginfoUpgrade perf6.18Upgrade python3-perf6.18-debuginfoUpgrade kernel6.18-modules-extra-common | Aug 18, 2026 | Jul 25, 2026 |
| Debian | — | Upgrade linuxUpgrade linux-6.12Upgrade linux-6.1 | Jul 28, 2026 | Jul 28, 2026 |
| Ubuntu | — | Upgrade linux-image-generic-64kUpgrade linux-image-oem-26.04Upgrade linux-image-nvidia-bosUpgrade linux-image-aws-7.0Upgrade linux-image-ibmUpgrade linux-image-nvidia-7.0Upgrade linux-image-gke-7.0Upgrade linux-image-7.0.0-31-realtime-64kUpgrade linux-image-gke-64kUpgrade linux-image-oem-26.04aUpgrade linux-image-genericUpgrade linux-image-7.0.0-1011-gcp-64kUpgrade linux-image-raspiUpgrade linux-image-ibm-7.0Upgrade linux-image-nvidiaUpgrade linux-image-7.0.0-1018-nvidiaUpgrade linux-image-generic-hwe-26.04Upgrade linux-image-generic-64k-hwe-26.04Upgrade linux-image-realtime-7.0Upgrade linux-image-nvidia-bos-64kUpgrade linux-image-raspi-realtime-7.0Upgrade linux-image-nvidia-bos-64k-7.0Upgrade linux-image-gke-64k-7.0Upgrade linux-image-7.0.0-1018-nvidia-64kUpgrade linux-image-nvidia-64k-7.0Upgrade linux-image-7.0.0-2018-nvidia-bosUpgrade linux-image-realtime-64k-hwe-26.04Upgrade linux-image-virtual-hwe-26.04Upgrade linux-image-gcp-64k-7.0Upgrade linux-image-7.0.0-31-realtimeUpgrade linux-image-7.0.0-1012-aws-64kUpgrade linux-image-nvidia-bos-7.0Upgrade linux-image-aws-64k-7.0Upgrade linux-image-oem-7.0Upgrade linux-image-7.0.0-2018-nvidia-bos-64kUpgrade linux-image-7.0.0-1012-awsUpgrade linux-image-gcp-64kUpgrade linux-image-nvidia-64k-hwe-26.04Upgrade linux-image-raspi-7.0Upgrade linux-image-virtual-hwe-24.04Upgrade linux-image-awsUpgrade linux-image-realtime-64k-7.0Upgrade linux-image-7.0.0-31-genericUpgrade linux-image-nvidia-hwe-26.04Upgrade linux-image-gcpUpgrade linux-image-realtime-64kUpgrade linux-image-generic-hwe-24.04Upgrade linux-image-nvidia-64kUpgrade linux-image-7.0.0-1019-raspi-realtimeUpgrade linux-image-gkeUpgrade linux-image-gcp-7.0Upgrade linux-image-aws-64kUpgrade linux-image-7.0.0-1019-raspiUpgrade linux-image-virtual-7.0Upgrade linux-image-generic-64k-7.0Upgrade linux-image-7.0.0-1006-gke-64kUpgrade linux-image-7.0.0-1013-ibmUpgrade linux-image-gke-hwe-26.04Upgrade linux-image-7.0.0-1013-oemUpgrade linux-image-7.0.0-1011-gcpUpgrade linux-image-gke-64k-hwe-26.04Upgrade linux-image-7.0.0-1006-gkeUpgrade linux-image-oem-26.04bUpgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-7.0.0-31-generic-64kUpgrade linux-image-virtualUpgrade linux-image-realtimeUpgrade linux-image-generic-7.0Upgrade linux-image-raspi-realtimeUpgrade linux-image-realtime-hwe-26.04 | Sep 14, 2026 | Sep 7, 2026 |
| Vmware Photon_os | — | Use 'tdnf update' to upgrade all packages to the latest version. | Jul 31, 2026 | Jul 25, 2026 |
Prioritise with Active Threat Intelligence
With curated Threat Intelligence, you can see which vulnerabilities truly put you at risk, prioritize what matters most, and act before attackers do.
Explore Intelligence Hub