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.