GHSA-m46q-74wj-vxmpunknown

In the Linux kernel, the following vulnerability has been resolved: cgroup/cpuset: rebind mm...

Published
August 15, 2026
Last Modified
August 15, 2026

🔗 CVE IDs covered (1)

📋 Description

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

cgroup/cpuset: rebind mm mempolicy to effective_mems, not mems_allowed

Creating a child cpuset where cpuset.mems is never set leads to a div/0 when a VMA mempolicy with MPOL_F_RELATIVE_NODES rebinds in response to a CPU hotplug event.

Reproduction steps:

  1. Create a cgroup w/ cpuset controls (do not set cpuset.mems)
  2. Move the task into the child cpuset
  3. Create a VMA mempolicy for that task with MPOL_F_RELATIVE_NODES
  4. unplug and hotplug a cpu echo 0 > /sys/devices/system/cpu/cpu1/online echo 1 > /sys/devices/system/cpu/cpu1/online
  5. mempolicy rebind does a div/0 in mpol_relative_nodemask on the call to __nodes_fold()

The cpuset code passes (cs->mems_allowed) which is not guaranteed to have nodes to the rebind routine. Use cs->effective_mems instead, which is guaranteed to have a non-empty nodemask once we reach that code path.

[ david: add a comment, slightly rephrase description ]

🔗 References (10)