CVE-2025-21771

Severity CVSS v4.0:
Pending analysis
Type:
Unavailable / Other
Publication date:
27/02/2025
Last modified:
27/02/2025

Description

In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> sched_ext: Fix incorrect autogroup migration detection<br /> <br /> scx_move_task() is called from sched_move_task() and tells the BPF scheduler<br /> that cgroup migration is being committed. sched_move_task() is used by both<br /> cgroup and autogroup migrations and scx_move_task() tried to filter out<br /> autogroup migrations by testing the destination cgroup and PF_EXITING but<br /> this is not enough. In fact, without explicitly tagging the thread which is<br /> doing the cgroup migration, there is no good way to tell apart<br /> scx_move_task() invocations for racing migration to the root cgroup and an<br /> autogroup migration.<br /> <br /> This led to scx_move_task() incorrectly ignoring a migration from non-root<br /> cgroup to an autogroup of the root cgroup triggering the following warning:<br /> <br /> WARNING: CPU: 7 PID: 1 at kernel/sched/ext.c:3725 scx_cgroup_can_attach+0x196/0x340<br /> ...<br /> Call Trace:<br /> <br /> cgroup_migrate_execute+0x5b1/0x700<br /> cgroup_attach_task+0x296/0x400<br /> __cgroup_procs_write+0x128/0x140<br /> cgroup_procs_write+0x17/0x30<br /> kernfs_fop_write_iter+0x141/0x1f0<br /> vfs_write+0x31d/0x4a0<br /> __x64_sys_write+0x72/0xf0<br /> do_syscall_64+0x82/0x160<br /> entry_SYSCALL_64_after_hwframe+0x76/0x7e<br /> <br /> Fix it by adding an argument to sched_move_task() that indicates whether the<br /> moving is for a cgroup or autogroup migration. After the change,<br /> scx_move_task() is called only for cgroup migrations and renamed to<br /> scx_cgroup_move_task().

Impact