Description (CNA)
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 (CNA)
| Vendor / product | Versions |
|---|---|
| Linux / Linux | affected 6c24849f5515e4966d94fa5279bdff4acf2e9489 before 642648fa7595241e4d491add5007bc33f11defb5; affected 6c24849f5515e4966d94fa5279bdff4acf2e9489 before e422b32e6a57269ca8164c60674a78bee85cf5fb; affected 6c24849f5515e4966d94fa5279bdff4acf2e9489 before e5965ae3f7c918151b87e5c925b7978afbeaf638; affected 6c24849f5515e4966d94fa5279bdff4acf2e9489 before 78d9daf5e13ad1448b7dfebac949936710ec7565; affected 6c24849f5515e4966d94fa5279bdff4acf2e9489 before 95220e1f18f6321008f021abc7d6f581f64bcb82; affected 5ac05ce5684315d0e71194a63febaf33921c3268; affected 43d8cbfefa7c59bd3b5fe184535eca476d45304e; affected d1b4262b78cc7638642833252ae92fc586854ffb; affected 74fac5bb0d375d6b8f5e7997925063c509089c9c; affected 5.10.193 before 5.11; affected 5.15.129 before 5.16; affected 6.1.50 before 6.2; affected 6.4.13 before 6.5 |
| Linux / Linux | affected 6.5; unaffected 0 before 6.5; unaffected 6.6.160 through 6.6.*; unaffected 6.12.110 through 6.12.*; unaffected 6.18.52 through 6.18.*; unaffected 7.2.6 through 7.2.*; unaffected 7.3 through * |
CWE
No CWE identifiers supplied.
References
- 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