Re: [PATCH cgroup/for-3.14-fixes] cgroup: update cgroup_enable_task_cg_lists() to grab siglock
From: Tejun Heo <tj@kernel.org>
Date: 2014-02-14 16:50:26
Also in:
lkml
From: Tejun Heo <tj@kernel.org>
Date: 2014-02-14 16:50:26
Also in:
lkml
Hello, On Fri, Feb 14, 2014 at 11:49:42AM +0800, Li Zefan wrote:
Now the only race I see is caused by checking tsk->cg_list without locking in cgroup_exit():
Yeah, that's the one I was trying to fix.
Your patch can fix this race, but after diving into the code I don't think the race exists, because exit_mm() locks&unlocks task_lock, and exit_mm() is called after exit_signal() and before cgroup_exit(), and task_lock is also taken by cgroup_enable_task_cg_lists().
Ah, okay, so there's a task_lock somewhere in the exit path. Extremely fragile, but not broken.
I totally agree the code is fragile and we should take your patch. I just want to make it clear if the bug exists in real life or not, and then we can write better changelog and decide to queue the patch for 3.14 or 3.15 and decide to mark it for stable or not.
Yeap, no reason to mark it for -stable if it doesn't actually happen. I'll update the description and respin it for for-3.15. Thanks! -- tejun