From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754830AbaIDQiu (ORCPT ); Thu, 4 Sep 2014 12:38:50 -0400 Received: from mail-pd0-f176.google.com ([209.85.192.176]:45609 "EHLO mail-pd0-f176.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751437AbaIDQiq (ORCPT ); Thu, 4 Sep 2014 12:38:46 -0400 Date: Fri, 5 Sep 2014 01:38:40 +0900 From: Tejun Heo To: Li Zefan Cc: Toralf =?iso-8859-1?Q?F=F6rster?= , LKML , Cgroups Subject: Re: [PATCH v2 2/2] cgroup: check cgroup liveliness before unbreaking kernfs Message-ID: <20140904163840.GA26364@mtj.dyndns.org> References: <540809FB.8020901@huawei.com> <54080A1A.7070207@huawei.com> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <54080A1A.7070207@huawei.com> User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Sep 04, 2014 at 02:43:38PM +0800, Li Zefan wrote: > When cgroup_kn_lock_live() is called through some kernfs operation and > another thread is calling cgroup_rmdir(), we'll trigger the warning in > cgroup_get(). > > ------------[ cut here ]------------ > WARNING: CPU: 1 PID: 1228 at kernel/cgroup.c:1034 cgroup_get+0x89/0xa0() > ... > Call Trace: > [] dump_stack+0x41/0x52 > [] warn_slowpath_common+0x7f/0xa0 > [] warn_slowpath_null+0x1d/0x20 > [] cgroup_get+0x89/0xa0 > [] cgroup_kn_lock_live+0x28/0x70 > [] __cgroup_procs_write.isra.26+0x51/0x230 > [] cgroup_tasks_write+0x12/0x20 > [] cgroup_file_write+0x40/0x130 > [] kernfs_fop_write+0xd1/0x160 > [] vfs_write+0x98/0x1e0 > [] SyS_write+0x4d/0xa0 > [] sysenter_do_call+0x12/0x12 > ---[ end trace 6f2e0c38c2108a74 ]--- > > Fix this by calling css_tryget() instead of cgroup_get(). > > v2: > - move cgroup_tryget() right below cgroup_get() definition. (Tejun) > > Cc: # 3.15+ > Reported-by: Toralf Förster > Signed-off-by: Zefan Li Applied 1-2 to cgroup/for-3.17-fixes. Thanks. -- tejun