From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754322AbbGIUkH (ORCPT ); Thu, 9 Jul 2015 16:40:07 -0400 Received: from mail-yk0-f182.google.com ([209.85.160.182]:34896 "EHLO mail-yk0-f182.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754279AbbGIUj4 (ORCPT ); Thu, 9 Jul 2015 16:39:56 -0400 From: Tejun Heo To: axboe@kernel.dk Cc: vgoyal@redhat.com, linux-kernel@vger.kernel.org, avanzini.arianna@gmail.com, kernel-team@fb.com Subject: [PATCHSET block/for-linus] blkcg: blkcg_policy_data fixes Date: Thu, 9 Jul 2015 16:39:46 -0400 Message-Id: <1436474390-3762-1-git-send-email-tj@kernel.org> X-Mailer: git-send-email 2.4.3 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 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