Re: [PATCH v3] cgroup: fix cgroup_rmdir() vs close(eventfd) race

Tejun Heo
2013-02-18T17:17:56Z

On Mon, Feb 18, 2013 at 06:56:14PM +0800, Li Zefan wrote:
> commit 205a872bd6f9a9a09ef035ef1e90185a8245cc58 ("cgroup: fix lockdep
> warning for event_control") solved a deadlock by introducing a new
> bug.
>
> Move cgrp->event_list to a temporary list doesn't mean you can traverse
> this list locklessly, because at the same time cgroup_event_wake() can
> be called and remove the event from the list. The result of this race
> is disastrous.
>
> We adopt the way how kvm irqfd code implements race-free event removal,
> which is now described in the comments in cgroup_event_wake().
>
> v3:
> - call eventfd_signal() no matter it's eventfd close or cgroup removal
> that removes the cgroup event.
>
> Acked-by: Kirill A. Shutemov <kirill-oKw7cIdHH8eLwutG50LtGA@public.gmane.org>
> Signed-off-by: Li Zefan <lizefan-hv44wF8Li93QT0dZR+AlfA@public.gmane.org>

Dropped v2 and applied this one to cgroup/for-3.9.

Thanks.

--
tejun