CVE-2024-35846

mm: zswap: fix shrinker NULL crash with cgroup_disable=memory

State
Published
Severity
Not scored
Published
May 17, 2024
Updated
May 11, 2026
Reserved
May 17, 2024

Read the record on cve.org

Description

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

mm: zswap: fix shrinker NULL crash with cgroup_disable=memory

Christian reports a NULL deref in zswap that he bisected down to the zswap shrinker. The issue also cropped up in the bug trackers of libguestfs [1] and the Red Hat bugzilla [2].

The problem is that when memcg is disabled with the boot time flag, the zswap shrinker might get called with sc->memcg == NULL. This is okay in many places, like the lruvec operations. But it crashes in memcg_page_state() - which is only used due to the non-node accounting of cgroup's the zswap memory to begin with.

Nhat spotted that the memcg can be NULL in the memcg-disabled case, and I was then able to reproduce the crash locally as well.

[1] https://github.com/libguestfs/libguestfs/issues/139 [2] https://bugzilla.redhat.com/show_bug.cgi?id=2275252

Scores

The record has no CVSS score.

Weaknesses

The record names no weakness.

Affected Products

ProductVersions
LinuxLinux
  • b5ba474f3f518701249598b35c581b92a3c95b48 to before b0fdabc908a7f81d12382c87ca9e46a9c2e14042Affected
  • b5ba474f3f518701249598b35c581b92a3c95b48 to before 682886ec69d22363819a83ddddd5d66cb5c791e1Affected
LinuxLinux
  • 6.8Affected
  • before 6.8Not affected
  • 6.8.9 through 6.8.*Not affected
  • 6.9 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.