linux/kernel/cgroup
Linus Torvalds 2152c755f7 cgroup: Fixes for v7.4
- cgroup.kill did not kill a process whose thread group leader had exited
   while other threads still ran, nor those threads once moved to another
   cgroup, letting a process survive its container being killed.
 
 - A cgroup.procs write under favordynmods could migrate a newly forked
   process before fork linked it to its cgroup, corrupting cgroup task lists.
 
 - cpuset partition fixes for nested hierarchies: invalidation, revival,
   shrinking and switches between root and isolated could leak isolated CPUs,
   skip or miscompute the housekeeping check, or leave wrong effective CPUs.
 
   - A root partition can no longer be created under an isolated parent or
     stay valid under one, as disabling it could leave no housekeeping CPUs.
 
   - Enabling a partition failed when a grandchild held tasks, although the
     parent had none of its own.
 
   - Separately, an allocation racing with a cpuset.mems update could drop
     its mempolicy nodemask and land on the wrong node, and a memoryless node
     in cpuset.mems triggered a spurious "movable nodes only" warning.
 
   - Two no-functional-change cleanups of the effective CPU computation.
 -----BEGIN PGP SIGNATURE-----
 
 iIQEABYKACwWIQTfIjM1kS57o3GsC/uxYfJx3gVYGQUCauD/Ow4cdGpAa2VybmVs
 Lm9yZwAKCRCxYfJx3gVYGUHZAQDs9j6gMDplJmgdPYo9OE+lxV+CbeyQcAiKmYgU
 UKkYWQD/dQqxs+SocRMl6uPMInFCd9tplbZgAhbAKsmRWUfyBwI=
 =flEV
 -----END PGP SIGNATURE-----

Merge tag 'cgroup-for-7.4-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup

Pull cgroup fixes from Tejun Heo:

 - cgroup.kill did not kill a process whose thread group leader had
   exited while other threads still ran, nor those threads once moved to
   another cgroup, letting a process survive its container being killed

 - A cgroup.procs write under favordynmods could migrate a newly forked
   process before fork linked it to its cgroup, corrupting cgroup task
   lists

 - cpuset partition fixes for nested hierarchies: invalidation, revival,
   shrinking and switches between root and isolated could leak isolated
   CPUs, skip or miscompute the housekeeping check, or leave wrong
   effective CPUs:

     - A root partition can no longer be created under an isolated
       parent or stay valid under one, as disabling it could leave no
       housekeeping CPUs

     - Enabling a partition failed when a grandchild held tasks,
       although the parent had none of its own

     - Separately, an allocation racing with a cpuset.mems update could
       drop its mempolicy nodemask and land on the wrong node, and a
       memoryless node in cpuset.mems triggered a spurious "movable
       nodes only" warning

     - Two no-functional-change cleanups of the effective CPU
       computation

* tag 'cgroup-for-7.4-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup: (27 commits)
  cgroup/cpuset: Integrate compute_partition_effective_cpumask() into compute_effective_cpumask()
  cgroup/cpuset: Relocate compute_*effective_cpumask() and compute_effective_nodemask()
  cgroup/cpuset: Release invalid isolated CPUs with a shrunk root partition parent
  cgroup/cpuset: Release invalid isolated CPUs in compute_partition_effective_cpumask()
  cgroup/cpuset: Make sure compute_partition_effective_cpumask() is only called for valid partition
  cgroup/cpuset: Prevent recursive call of remote_cpus_update() via update_cpumasks_hier()
  selftests/cgroup: Check for a single range nohz_full CPUs before running test matrix
  cgroup/cpuset: Minor fixes to prstate_housekeeping_conflict()
  cgroup/cpuset: Fix incorrect effective_cpus bug in update_cpumasks_hier()
  cgroup/cpuset: Properly compute effective xcpus in update_parent_effective_cpumask()
  cgroup/cpuset: Find furthest isolated ancestor for invalidated isolated partition
  cgroup: don't kill migrated processes through their exiting threads
  cgroup/cpuset: check effective mems for a movable-only configuration
  cgroup/cpuset: Fix task checking when enabling a partition
  cgroup: serialize migrations of newly forked processes
  selftests/cgroup: test cgroup.kill with an exited thread group leader
  cgroup: fix cgroup.kill for exited thread group leader
  selftests/cgroup: Skip test_cpuset_prs.sh test if some required CPUs are offline
  selftests/cgroup: Add tests for nohz_full housekeeping check
  selftests/cgroup: Add tests for isolcpus housekeeping check
  ...
2026-10-29 07:35:19 -10:00
..
cgroup-internal.h mm.git review status for linus..mm-stable 2026-10-23 07:42:11 -10:00
cgroup-v1.c Modules changes for 7.4-rc1 2026-10-23 09:32:44 -10:00
cgroup.c cgroup: don't kill migrated processes through their exiting threads 2026-10-23 10:24:49 -10:00
cpuset-internal.h cgroup/cpuset: Prevent recursive call of remote_cpus_update() via update_cpumasks_hier() 2026-10-26 07:44:25 -10:00
cpuset-v1.c cgroup/cpuset: Move cpuset_update_flag() to cpuset-v1.c 2026-09-30 13:58:37 -10:00
cpuset.c cgroup/cpuset: Integrate compute_partition_effective_cpumask() into compute_effective_cpumask() 2026-10-26 07:44:43 -10:00
debug.c cgroup: Use %p for pointer formatting 2026-09-18 14:05:53 -10:00
dmem.c drm next for 7.4-rc1 2026-10-23 18:29:02 -10:00
freezer.c cgroup: use assign_bit() where applicable 2026-09-21 06:49:11 -10:00
legacy_freezer.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
Makefile kernel/cgroup: Add "dmem" memory accounting cgroup 2025-01-06 17:24:38 +01:00
misc.c Convert 'alloc_obj' family to use the new default GFP_KERNEL argument 2026-02-21 17:09:51 -08:00
namespace.c cgroup: namespace: Drop BUG_ON() in copy_cgroup_ns() 2026-09-03 06:20:21 -10:00
pids.c cgroup/pids: Restore pids.events notifications in local mode 2026-09-24 06:22:11 -10:00
rdma.c RDMA/cgroup: Disambiguate devices across net namespaces 2026-07-26 03:11:00 -04:00
rstat.c cgroup: rstat: relax NMI guard after switch to try_cmpxchg 2026-05-20 09:44:35 -10:00