CVE-2024-41932

Summary

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

sched: fix warning in sched_setaffinity

Commit 8f9ea86fdf99b added some logic to sched_setaffinity that included a WARN when a per-task affinity assignment races with a cpuset update.

Specifically, we can have a race where a cpuset update results in the task affinity no longer being a subset of the cpuset. That's fine; we have a fallback to instead use the cpuset mask. However, we have a WARN set up that will trigger if the cpuset mask has no overlap at all with the requested task affinity. This shouldn't be a warning condition; its trivial to create this condition.

Reproduced the warning by the following setup:

  • $PID inside a cpuset cgroup
  • another thread repeatedly switching the cpuset cpus from 1-2 to just 1
  • another thread repeatedly setting the $PID affinity (via taskset) to 2

Affected Software

VendorProductVersion RangeStatus
LinuxLinux8f9ea86fdf99b81458cc21fc1c591fcd4a0fa1f4 < 5c3fb75f538cfcb886f6dfeb497d99fc2f263ee6affected
LinuxLinux8f9ea86fdf99b81458cc21fc1c591fcd4a0fa1f4 < 70ee7947a29029736a1a06c73a48ff37674a851baffected
LinuxLinux6.2affected
LinuxLinux0 < 6.2unaffected
LinuxLinux6.12.5 <= 6.12.*unaffected
LinuxLinux6.13 <= *unaffected

Weaknesses

References