CVE-2026-98866
Description
In the Linux kernel, the following vulnerability has been resolved: sched/cache: Introduce task_struct->sched_cache_grp to fix UAF Add a sched_cache_grp pointer to task_struct so that scheduler code can access the cache group directly via the task, without going through mm->sched_cache_grp. This decouples the scheduler's hot-path accesses from the mm_struct. Each task holds its own refcount on the sched_cache_group, separate from the reference held by its mm_struct. The reference is acquired in copy_mm() (fork) and exec_mmap() (exec), and released in exit_mm(). This fixes the use-after-free when account_mm_sched() reaches the group through a task whose mm is being switched, as reported by Hyunwoo: https://lore.kernel.org/lkml/apPb-Dr4nPYuHQOK@v4bel/ Convert all scheduler code in fair.c and exit.c to use p->sched_cache_grp instead of p->mm->sched_cache_grp. Keep the fork/exec/exit reference management out of the generic mm paths: add sched_cache_fork(), sched_cache_fork_cleanup(), sched_cache_exec_mmap() and sched_cache_exit_mm() in kernel/sched/cache_sched.c (with empty stubs for !CONFIG_SCHED_CACHE), so fs/exec.c, kernel/fork.c and kernel/exit.c each call one helper instead of open-coding the refcounting under #ifdef. Also add sched_cache_group_get() and task_cache_group_get().
How to fix
- Linux Linux9436130e6da72af63289a4acb3aa0c1df07a3928, b636fef85bda7d1bab9c0a45067ab1508d79d946 or later
Affected products
| Product | Affected versions | Fixed in |
|---|---|---|
| Linux Linux | df0d98475954d655571979aa061ecb07d7e00392 ≤ v < 9436130e6da72af63289a4acb3aa0c1df07a3928, df0d98475954d655571979aa061ecb07d7e00392 ≤ v < b636fef85bda7d1bab9c0a45067ab1508d79d946, 7.2 | 9436130e6da72af63289a4acb3aa0c1df07a3928, b636fef85bda7d1bab9c0a45067ab1508d79d946 |
Check your version
Choose the product and enter the version you run to see whether it falls in the affected range.
Attack Surface Management
See the assets tied to your domains, the technologies they run and known vulnerabilities in one list.