summaryrefslogtreecommitdiff
path: root/scripts/Makefile.thinlto
diff options
context:
space:
mode:
authorTejun Heo <tj@kernel.org>2026-11-05 09:19:51 -1000
committerTejun Heo <tj@kernel.org>2026-11-06 06:33:42 -1000
commite1aed52b68a361f6fc047b24a37d9ec4d928a158 (patch)
tree65123f8ca3ff2a25ff7358e24c484e0ee9b604b3 /scripts/Makefile.thinlto
parent8ab6980c70076db5f8c0c66a5fac06472b254333 (diff)
downloadlinux-next-e1aed52b68a361f6fc047b24a37d9ec4d928a158.tar.gz
linux-next-e1aed52b68a361f6fc047b24a37d9ec4d928a158.zip
cgroup/freezer: Fix exiting tasks left frozen forever after rmdir
Since 93618edf7538 ("cgroup: Defer css percpu_ref kill on rmdir until cgroup is depopulated"), rmdir succeeds once cgroup.procs is empty, but exiting tasks hidden from it can stay in the cgroup until their final context switch. If such a task is frozen in a v1 freezer cgroup, nothing is left to thaw it after rmdir: freezer.state is gone with the cgroup, and a THAWED write to an ancestor clears only CGROUP_FREEZING_PARENT. 8ab6980c7007 ("cgroup/freezer: walk exiting tasks in the v1 freezer") made the freezer walks include exiting tasks. A FROZEN write now also freezes a hidden task in a freezable sleep on its exit path. The fix depends on that commit, as the thaw reaches hidden tasks through the same walk. Since 81933038f5e2 ("pid_namespace: make zap_pid_ns_processes() freezable"), an exiting pid namespace init sleeps that way until a parent outside the namespace reaps a zombie in it. Thaw the cgroup from ->css_killed(), as a THAWED write to it would. A descendant removed earlier can still hold hidden tasks frozen through CGROUP_FREEZING_PARENT. The thaw reaches it too, as its css stays online until its tasks are gone. rmdir removes freezer.state only after ->css_killed() returns, and a write to it takes no cgroup_mutex. A FROZEN write after the thaw would freeze the removed cgroup again, so refuse to freeze a dead cgroup. Verified with a reproducer, including under a frozen parent, from an already removed child and with a racing FROZEN write. Fixes: 93618edf7538 ("cgroup: Defer css percpu_ref kill on rmdir until cgroup is depopulated") Cc: stable@vger.kernel.org # v7.1+ Signed-off-by: Tejun Heo <tj@kernel.org> Reviewed-by: Tao Cui <cuitao@kylinos.cn> Tested-by: Tao Cui <cuitao@kylinos.cn>
Diffstat (limited to 'scripts/Makefile.thinlto')
0 files changed, 0 insertions, 0 deletions