[PATCHSET block/for-linus] blkcg: blkcg_policy_data fixes

From: Tejun Heo
Date: Thu Jul 09 2015 - 16:40:12 EST


During 4.2-rc1 merge window, e48453c386f3 ("block, cgroup: implement
policy-specific per-blkcg data") got merged. It had several bugs and
a322baad1003 ("block/blk-cgroup.c: free per-blkcg data when freeing
the blkcg") fixed one of them but there are still a couple remaining.

* blkcg_policy[] iteration during css_alloc isn't protected.

* Lazy allocation scheme is broken and policy data may be missing or
an old policy data may get reused by the wrong policy.

This patchset contains the following four patches to fix the above
issues.

0001-blkcg-allow-blkcg_pol_mutex-to-be-grabbed-from-cgrou.patch
0002-blkcg-blkcg_css_alloc-should-grab-blkcg_pol_mutex-wh.patch
0003-blkcg-implement-all_blkcgs-list.patch
0004-blkcg-fix-blkcg_policy_data-allocation-bug.patch

0001 and 0003 are prep patches. 0002 and 0004 are the fixes.

This patchset is on top of block/for-linus a322baad1003
("block/blk-cgroup.c: free per-blkcg data when freeing the blkcg") and
available in the following git branch.

git://git.kernel.org/pub/scm/linux/kernel/git/tj/cgroup.git review-blkcg-cpd-fixes

diffstat follows, thanks.

block/blk-cgroup.c | 131 +++++++++++++++++++++++++--------------------
include/linux/blk-cgroup.h | 11 +--
2 files changed, 78 insertions(+), 64 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/