Description
In the Linux kernel, the following vulnerability has been resolved: cgroup/cpuset: Make nr_deadline_tasks an atomic_t The nr_deadline_tasks variable in the cpuset structure was introduced by commit 6c24849f5515 ("sched/cpuset: Keep track of SCHED_DEADLINE task in cpusets"). It is reported by sashiko [1] that nr_deadline_tasks can currently be modified by inc_dl_tasks_cs() under rq->lock and by cpuset_attach() under cpuset_mutex. So if both updates happen simultaneously, the nr_deadline_tasks variable can be corrupted leading to incorrect operations down the road. Fix that by changing its type to atomic_t so that nr_deadline_tasks are always atomically updated. This fix patch is a low hanging fruit. It can handle some of the races between a concurrent sched_setscheduler() and cpuset_can_attach()/cpuset_attach() calls, but not all of them like the other issue raised by sashiko [2]. This will be handled hopefully in a future follow up patch. [1] https://sashiko.dev/#/patchset/20260626181923.133658-1-longman%40redhat.com [2] https://sashiko.dev/#/patchset/20260630033344.352702-1-longman%40redhat.com
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
d1b4262b78cc7638642833252ae92fc586854ffb to < 4987d336abf3fa575a2d953f69e11154ac9802c3affected6c24849f5515e4966d94fa5279bdff4acf2e9489 to < 642648fa7595241e4d491add5007bc33f11defb5affected6c24849f5515e4966d94fa5279bdff4acf2e9489 to < e422b32e6a57269ca8164c60674a78bee85cf5fbaffected6c24849f5515e4966d94fa5279bdff4acf2e9489 to < e5965ae3f7c918151b87e5c925b7978afbeaf638affected6c24849f5515e4966d94fa5279bdff4acf2e9489 to < 78d9daf5e13ad1448b7dfebac949936710ec7565affected6c24849f5515e4966d94fa5279bdff4acf2e9489 to < 95220e1f18f6321008f021abc7d6f581f64bcb82affected5ac05ce5684315d0e71194a63febaf33921c3268affected43d8cbfefa7c59bd3b5fe184535eca476d45304eaffected74fac5bb0d375d6b8f5e7997925063c509089c9caffected6.1.50 to < 6.1.191affected5.10.193 to < 5.11affected5.15.129 to < 5.16affected6.4.13 to < 6.5affected
Linux Linux
Default version status: affected
6.5affected0 to < 6.5unaffected6.1.191 to ≤ 6.1.*unaffected6.6.160 to ≤ 6.6.*unaffected6.12.110 to ≤ 6.12.*unaffected6.18.52 to ≤ 6.18.*unaffected7.2.6 to ≤ 7.2.*unaffected7.3 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/4987d336abf3fa575a2d953f69e11154ac9802c3 ↗
- https://git.kernel.org/stable/c/642648fa7595241e4d491add5007bc33f11defb5 ↗
- https://git.kernel.org/stable/c/e422b32e6a57269ca8164c60674a78bee85cf5fb ↗
- https://git.kernel.org/stable/c/e5965ae3f7c918151b87e5c925b7978afbeaf638 ↗
- https://git.kernel.org/stable/c/78d9daf5e13ad1448b7dfebac949936710ec7565 ↗
- https://git.kernel.org/stable/c/95220e1f18f6321008f021abc7d6f581f64bcb82 ↗