lkml.org 
[lkml]   [2012]   [Mar]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
From
Subject[PATCH] blk-cgroup: Call cgroup_path only under cgroup lock
Date
Since we can't keep rcu read lock during blkg_alloc(), we currently
call cgroup_path() without any locks at all.

This patch adds cgroup locking before calling cgroup_path.

This also fixes a lockdep warning on boot.

Signed-off-by: Sasha Levin <levinsasha928@gmail.com>
---
block/blk-cgroup.c | 2 ++
1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/block/blk-cgroup.c b/block/blk-cgroup.c
index cb6b176..b5f539c 100644
--- a/block/blk-cgroup.c
+++ b/block/blk-cgroup.c
@@ -508,7 +508,9 @@ static struct blkio_group *blkg_alloc(struct blkio_cgroup *blkcg,
INIT_LIST_HEAD(&blkg->q_node);
blkg->blkcg = blkcg;
blkg->refcnt = 1;
+ cgroup_lock();
cgroup_path(blkcg->css.cgroup, blkg->path, sizeof(blkg->path));
+ cgroup_unlock();

for (i = 0; i < BLKIO_NR_POLICIES; i++) {
struct blkio_policy_type *pol = blkio_policy[i];
--
1.7.8.4


\
 
 \ /
  Last update: 2012-03-12 19:05    [W:0.029 / U:0.608 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site