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-debuginfoUpgrade kernel-livepatch-6.18.39-79.141Upgrade kernel6.18Upgrade kernel6.18-develUpgrade kernel6.18-modules-extraUpgrade kernel6.18-debuginfo-common-x86_64Upgrade kernel6.18-debuginfo-common-aarch64Upgrade kernel6.18-headersUpgrade kernel6.18-toolsUpgrade perf6.18-debuginfoUpgrade bpftool6.18-debuginfoUpgrade kernel6.18-tools-develUpgrade bpftool6.18Upgrade microvm-kernel6.18Upgrade kernel6.18-modules-extra-commonUpgrade python3-perf6.18-debuginfoUpgrade perf6.18Upgrade kernel6.18-tools-debuginfoUpgrade python3-perf6.18 | Aug 18, 2026 | Jul 25, 2026 |
| Debian | — | Upgrade linuxUpgrade linux-6.1Upgrade linux-6.12 | Jul 28, 2026 | Jul 28, 2026 |
| Ubuntu | — | Upgrade linux-image-virtual-hwe-24.04Upgrade linux-image-nvidia-hwe-26.04Upgrade linux-image-nvidia-64k-hwe-26.04Upgrade linux-image-oracleUpgrade linux-image-realtime-64kUpgrade linux-image-realtime-64k-7.0Upgrade linux-image-raspi-realtimeUpgrade linux-image-oracle-64k-7.0Upgrade linux-image-7.0.0-31-genericUpgrade linux-image-realtime-hwe-26.04Upgrade linux-image-awsUpgrade linux-image-gcpUpgrade linux-image-7.0.0-1011-oracleUpgrade linux-image-azure-7.0Upgrade linux-image-gke-hwe-26.04Upgrade linux-image-raspi-7.0Upgrade linux-image-generic-7.0Upgrade linux-image-7.0.0-1013-ibmUpgrade linux-image-virtualUpgrade linux-image-generic-64k-7.0Upgrade linux-image-realtimeUpgrade linux-image-7.0.0-1011-oracle-64kUpgrade linux-image-7.0.0-1006-gke-64kUpgrade linux-image-generic-hwe-24.04Upgrade linux-image-nvidia-64kUpgrade linux-image-oem-26.04bUpgrade linux-image-7.0.0-1019-raspi-realtimeUpgrade linux-image-aws-64kUpgrade linux-image-azure-lts-26.04Upgrade linux-image-gke-64k-hwe-26.04Upgrade linux-image-gkeUpgrade linux-image-7.0.0-1019-raspiUpgrade linux-image-7.0.0-1014-azureUpgrade linux-image-gcp-7.0Upgrade linux-image-oracle-64kUpgrade linux-image-virtual-7.0Upgrade linux-image-7.0.0-1006-gkeUpgrade linux-image-7.0.0-31-generic-64kUpgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-7.0.0-1011-gcpUpgrade linux-image-7.0.0-1013-oemUpgrade linux-image-nvidia-64k-7.0Upgrade linux-image-aws-64k-7.0Upgrade linux-image-aws-7.0Upgrade linux-image-nvidia-7.0Upgrade linux-image-7.0.0-31-realtime-64kUpgrade linux-image-gke-7.0Upgrade linux-image-raspi-realtime-7.0Upgrade linux-image-oem-26.04aUpgrade linux-image-nvidia-bosUpgrade linux-image-genericUpgrade linux-image-ibmUpgrade linux-image-7.0.0-2018-nvidia-bos-64kUpgrade linux-image-generic-64kUpgrade linux-image-oem-7.0Upgrade linux-image-oem-26.04Upgrade linux-image-nvidia-bos-7.0Upgrade linux-image-nvidiaUpgrade linux-image-ibm-7.0Upgrade linux-image-7.0.0-1012-aws-64kUpgrade linux-image-7.0.0-1011-gcp-64kUpgrade linux-image-raspiUpgrade linux-image-oracle-7.0Upgrade linux-image-realtime-64k-hwe-26.04Upgrade linux-image-gcp-64k-7.0Upgrade linux-image-virtual-hwe-26.04Upgrade linux-image-7.0.0-1018-nvidia-64kUpgrade linux-image-7.0.0-2018-nvidia-bosUpgrade linux-image-gke-64k-7.0Upgrade linux-image-7.0.0-31-realtimeUpgrade linux-image-7.0.0-1012-awsUpgrade linux-image-realtime-7.0Upgrade linux-image-nvidia-bos-64kUpgrade linux-image-generic-64k-hwe-26.04Upgrade linux-image-gcp-64kUpgrade linux-image-azureUpgrade linux-image-generic-hwe-26.04Upgrade linux-image-7.0.0-1018-nvidiaUpgrade linux-image-nvidia-bos-64k-7.0Upgrade linux-image-gke-64k | 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