summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2025-06-19 00:25:50 +0300
committerLinus Torvalds <torvalds@linux-foundation.org>2025-06-19 00:25:50 +0300
commit74b4cc9b8780bfe8a3992c9ac0033bf22ac01f19 (patch)
treefecf2afaabf6be34900cc99480dca048714ae3fe
parent0564e6a8c2c3152783906534d5767cabe1b05930 (diff)
parent37fb58a7273726e59f9429c89ade5116083a213d (diff)
downloadlinux-74b4cc9b8780bfe8a3992c9ac0033bf22ac01f19.tar.xz
Merge tag 'cgroup-for-6.16-rc2-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup
Pull cgroup fix from Tejun Heo: - In cgroup1 freezer, a task migrating into a frozen cgroup might not get frozen immediately due to the wrong operation order. Fix it. * tag 'cgroup-for-6.16-rc2-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup: cgroup,freezer: fix incomplete freezing when attaching tasks
-rw-r--r--kernel/cgroup/legacy_freezer.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/kernel/cgroup/legacy_freezer.c b/kernel/cgroup/legacy_freezer.c
index 039d1eb2f215..507b8f19a262 100644
--- a/kernel/cgroup/legacy_freezer.c
+++ b/kernel/cgroup/legacy_freezer.c
@@ -188,13 +188,12 @@ static void freezer_attach(struct cgroup_taskset *tset)
if (!(freezer->state & CGROUP_FREEZING)) {
__thaw_task(task);
} else {
- freeze_task(task);
-
/* clear FROZEN and propagate upwards */
while (freezer && (freezer->state & CGROUP_FROZEN)) {
freezer->state &= ~CGROUP_FROZEN;
freezer = parent_freezer(freezer);
}
+ freeze_task(task);
}
}