Messages in this thread Patch in this message | | | From | Sasha Levin <> | Subject | [PATCH] blk-cgroup: Call cgroup_path only under cgroup lock | Date | Mon, 12 Mar 2012 16:01:18 -0400 |
| |
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
| |