Skip to content
CVE PROGRAM SOURCE RECORDUnscored

CVE-2024-35846

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

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

Affected products

Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.

Linux Linux

Default version status: unaffected

  • b5ba474f3f518701249598b35c581b92a3c95b48 to < b0fdabc908a7f81d12382c87ca9e46a9c2e14042affected
  • b5ba474f3f518701249598b35c581b92a3c95b48 to < 682886ec69d22363819a83ddddd5d66cb5c791e1affected

Linux Linux

Default version status: affected

  • 6.8affected
  • 0 to < 6.8unaffected
  • 6.8.9 to ≤ 6.8.*unaffected
  • 6.9 to ≤ *unaffected

References