CVE-2026-74593
N/A
Summary
In the Linux kernel, the following vulnerability has been resolved:
sched_ext: Take cgroup_lock() first in scx_cgroup_lock()
scx_cgroup_lock() write-locks scx_cgroup_ops_rwsem and then takes cgroup_lock(), which can deadlock through kernfs:
scx enable/disable cgroup rmdir cpu.weight write
cgroup_lock()
percpu_down_write(rwsem) cgroup_lock() kernfs_get_active() percpu_down_read(rwsem) kernfs_drain()
The enable path waits for the rmdir to release cgroup_mutex. The rmdir, deactivating the cpu controller's files, waits in kernfs_drain() for the write's active reference. The write, in scx_group_set_weight(), waits for the rwsem behind the pending writer.
Take cgroup_lock() first. The set_* paths take no cgroup locks inside the read side, so a pending write-lock then only waits for read sections that always run to completion, and no dependency from the rwsem back to cgroup_mutex remains.
Affected Software
| Vendor | Product | Version Range | Status |
|---|---|---|---|
| Linux | Linux | a5bd6ba30b3364354269b81ac55c2edca9a96d6d < 2ca6b43edf83f8fc368cc3094ee5f3b1e8e0b0f0 | affected |
| Linux | Linux | a5bd6ba30b3364354269b81ac55c2edca9a96d6d < a054c9ffa9b7a0dffb763837b91ac9d381ec6d10 | affected |
| Linux | Linux | a5bd6ba30b3364354269b81ac55c2edca9a96d6d < 5f8b69642d18e1f3e11996707842ac530444e959 | affected |
| Linux | Linux | 6.18 | affected |
| Linux | Linux | 0 < 6.18 | unaffected |
| Linux | Linux | 6.18.46 <= 6.18.* | unaffected |
| Linux | Linux | 7.1.9 <= 7.1.* | unaffected |
| Linux | Linux | 7.2 <= * | unaffected |
Weaknesses
References
- https://git.kernel.org/stable/c/2ca6b43edf83f8fc368cc3094ee5f3b1e8e0b0f0
- https://git.kernel.org/stable/c/a054c9ffa9b7a0dffb763837b91ac9d381ec6d10
- https://git.kernel.org/stable/c/5f8b69642d18e1f3e11996707842ac530444e959
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.