Re: [PATCH] cgroup: missing rcu read lock around task_css_set

From: Li Zefan
Date: Thu Mar 27 2014 - 22:51:12 EST


On 2014/3/27 23:35, Sasha Levin wrote:
> On 03/04/2014 07:57 PM, Li Zefan wrote:
>> On 2014/3/5 3:47, Tejun Heo wrote:
>>> On Tue, Mar 04, 2014 at 12:20:45PM -0500, Sasha Levin wrote:
>>>>> Hrm... there is a PF_EXITING check there already:
>>>>>
>>>>> #define task_css_set_check(task, __c) \
>>>>> rcu_dereference_check((task)->cgroups, \
>>>>> lockdep_is_held(&cgroup_mutex) || \
>>>>> lockdep_is_held(&css_set_rwsem) || \
>>>>> ((task)->flags & PF_EXITING) || (__c))
>>>>>
>>>>> I see it's not happening on Linus's master so I'll run a bisection to figure out what broke it.
>>>>
>>>> Hi Tejun,
>>>>
>>>> It bisects down to your patch: "cgroup: drop task_lock() protection
>>>> around task->cgroups". I'll look into it later unless it's obvious
>>>> to you.
>>>
>>> Hmmm... maybe I'm confused and PF_EXITING is not set there and
>>> task_lock was what held off the lockdep warning. Confused....
>>>
>>
>> Because this cgroup_exit() is called in a failure path in copy_process().
>
> It seems there was no conclusion here and it still happens in -next, anything
> we can do about it?
>

I'll send a patch to fix it. Thanks!

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/