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: > [<c16ee73d>] dump_stack+0x41/0x52 > [<c10468ef>] warn_slowpath_common+0x7f/0xa0 > [<c104692d>] warn_slowpath_null+0x1d/0x20 > [<c10bb999>] cgroup_get+0x89/0xa0 > [<c10bbe58>] cgroup_kn_lock_live+0x28/0x70 > [<c10be3c1>] __cgroup_procs_write.isra.26+0x51/0x230 > [<c10be5b2>] cgroup_tasks_write+0x12/0x20 > [<c10bb7b0>] cgroup_file_write+0x40/0x130 > [<c11aee71>] kernfs_fop_write+0xd1/0x160 > [<c1148e58>] vfs_write+0x98/0x1e0 > [<c114934d>] SyS_write+0x4d/0xa0 > [<c16f656b>] 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: <stable@xxxxxxxxxxxxxxx> # 3.15+ > Reported-by: Toralf Förster <toralf.foerster@xxxxxx> > Signed-off-by: Zefan Li <lizefan@xxxxxxxxxx> Applied 1-2 to cgroup/for-3.17-fixes. Thanks. -- tejun -- To unsubscribe from this list: send the line "unsubscribe cgroups" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html