CVE-2026-74593

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

VendorProductVersion RangeStatus
LinuxLinuxa5bd6ba30b3364354269b81ac55c2edca9a96d6d < 2ca6b43edf83f8fc368cc3094ee5f3b1e8e0b0f0affected
LinuxLinuxa5bd6ba30b3364354269b81ac55c2edca9a96d6d < a054c9ffa9b7a0dffb763837b91ac9d381ec6d10affected
LinuxLinuxa5bd6ba30b3364354269b81ac55c2edca9a96d6d < 5f8b69642d18e1f3e11996707842ac530444e959affected
LinuxLinux6.18affected
LinuxLinux0 < 6.18unaffected
LinuxLinux6.18.46 <= 6.18.*unaffected
LinuxLinux7.1.9 <= 7.1.*unaffected
LinuxLinux7.2 <= *unaffected

Weaknesses

References