[GIT PULL] cgroup fixes for v4.4-rc4
From: Tejun Heo
Date: Tue Dec 08 2015 - 11:51:07 EST
Hello, Linus.
More change than I'd have liked at this stage. The pids controller
and the changes made to cgroup core to support it introduced and
revealed several important issues.
* Assigning membership to a newly created task and migrating it can
race leading to incorrect accounting. Oleg fixed it by widening
threadgroup synchronization. It looks like we'll be able to merge
it with a different percpu rwsem which is used in fork path making
things simpler and cheaper.
* The recent change to extend cgroup membership to zombies (so that
pid accounting can extend till the pid is actually released) missed
pinning the underlying data structures leading to use-after-free.
Fixed.
* v2 hierarchy was calling subsystem callbacks with the wrong target
cgroup_subsys_state based on the incorrect assumption that they
share the same target. pids is the first controller affected by
this. Subsys callbacks updated so that they can deal with
multi-target migrations.
Thanks.
The following changes since commit 527e9316f8ec44bd53d90fb9f611fa7ffff52bb9:
Linux 4.4-rc4 (2015-12-06 15:43:12 -0800)
are available in the git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup.git for-4.4-fixes
for you to fetch changes up to 0b98f0c04245877ae0b625a7f0aa55b8ff98e0c4:
Merge branch 'master' into for-4.4-fixes (2015-12-07 10:09:03 -0500)
----------------------------------------------------------------
Oleg Nesterov (2):
cgroup: pids: fix race between cgroup_post_fork() and cgroup_migrate()
cgroup: pids: kill pids_fork(), simplify pids_can_fork() and pids_cancel_fork()
Tejun Heo (6):
cgroup: fix cftype->file_offset handling
cgroup: make css_set pin its css's to avoid use-afer-free
cgroup_freezer: simplify propagation of CGROUP_FROZEN clearing in freezer_attach()
cgroup: fix handling of multi-destination migration from subtree_control enabling
cgroup_pids: don't account for the root cgroup
Merge branch 'master' into for-4.4-fixes
block/blk-cgroup.c | 6 +--
include/linux/cgroup-defs.h | 13 ++----
include/linux/cgroup.h | 47 ++++++++++-----------
kernel/cgroup.c | 99 ++++++++++++++++++++++++++++++++++----------
kernel/cgroup_freezer.c | 23 +++++-----
kernel/cgroup_pids.c | 77 +++++++++-------------------------
kernel/cpuset.c | 33 +++++++++------
kernel/events/core.c | 6 +--
kernel/fork.c | 9 ++--
kernel/sched/core.c | 12 +++---
mm/memcontrol.c | 45 ++++++++++----------
net/core/netclassid_cgroup.c | 6 ++-
net/core/netprio_cgroup.c | 9 ++--
13 files changed, 202 insertions(+), 183 deletions(-)
--
tejun
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/