From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756786AbYKUI5R (ORCPT ); Fri, 21 Nov 2008 03:57:17 -0500 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S1752970AbYKUIxG (ORCPT ); Fri, 21 Nov 2008 03:53:06 -0500 Received: from cn.fujitsu.com ([222.73.24.84]:49667 "EHLO song.cn.fujitsu.com" rhost-flags-OK-FAIL-OK-OK) by vger.kernel.org with ESMTP id S1752870AbYKUIxE (ORCPT ); Fri, 21 Nov 2008 03:53:04 -0500 Message-ID: <49267633.8040607@cn.fujitsu.com> Date: Fri, 21 Nov 2008 16:49:55 +0800 From: Lai Jiangshan User-Agent: Thunderbird 2.0.0.17 (Windows/20080914) MIME-Version: 1.0 To: Andrew Morton , Paul Menage , Linux Kernel Mailing List , Linux Containers Subject: [PATCH] cgroups: use task_lock() for access tsk->cgroups safe in cgroup_clone() Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org use task_lock() protect tsk->cgroups and get_css_set(tsk->cgroups) Signed-off-by: Lai Jiangshan --- diff --git a/kernel/cgroup.c b/kernel/cgroup.c index 358e775..ddc10ac 100644 --- a/kernel/cgroup.c +++ b/kernel/cgroup.c @@ -2933,6 +2943,7 @@ int cgroup_clone(struct task_struct *tsk, struct cgroup_subsys *subsys, mutex_unlock(&cgroup_mutex); return 0; } + task_lock(tsk); cg = tsk->cgroups; parent = task_cgroup(tsk, subsys->subsys_id); @@ -2941,6 +2952,7 @@ int cgroup_clone(struct task_struct *tsk, struct cgroup_subsys *subsys, /* Keep the cgroup alive */ get_css_set(cg); + task_unlock(tsk); mutex_unlock(&cgroup_mutex); /* Now do the VFS work to create a cgroup */