diff options
| author | Chen Ridong <[email protected]> | 2025-06-18 07:32:17 +0000 |
|---|---|---|
| committer | Tejun Heo <[email protected]> | 2025-06-18 19:43:30 +0000 |
| commit | 37fb58a7273726e59f9429c89ade5116083a213d (patch) | |
| tree | e98c1e89aa681f12bacff0f74a7a7111674bcb73 /rust/helpers/helpers.c | |
| parent | cgroup: adjust criteria for rstat subsystem cpu lock access (diff) | |
| download | kernel-37fb58a7273726e59f9429c89ade5116083a213d.tar.gz kernel-37fb58a7273726e59f9429c89ade5116083a213d.zip | |
cgroup,freezer: fix incomplete freezing when attaching tasks
An issue was found:
# cd /sys/fs/cgroup/freezer/
# mkdir test
# echo FROZEN > test/freezer.state
# cat test/freezer.state
FROZEN
# sleep 1000 &
[1] 863
# echo 863 > test/cgroup.procs
# cat test/freezer.state
FREEZING
When tasks are migrated to a frozen cgroup, the freezer fails to
immediately freeze the tasks, causing the cgroup to remain in the
"FREEZING".
The freeze_task() function is called before clearing the CGROUP_FROZEN
flag. This causes the freezing() check to incorrectly return false,
preventing __freeze_task() from being invoked for the migrated task.
To fix this issue, clear the CGROUP_FROZEN state before calling
freeze_task().
Fixes: f5d39b020809 ("freezer,sched: Rewrite core freezer logic")
Cc: [email protected] # v6.1+
Reported-by: Zhong Jiawei <[email protected]>
Signed-off-by: Chen Ridong <[email protected]>
Acked-by: Michal Koutný <[email protected]>
Signed-off-by: Tejun Heo <[email protected]>
Diffstat (limited to 'rust/helpers/helpers.c')
0 files changed, 0 insertions, 0 deletions
