[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date: Sat, 2 Feb 2013 14:59:47 +0800
From: Li Zefan <lizefan@...wei.com>
To: Tejun Heo <tj@...nel.org>
CC: LKML <linux-kernel@...r.kernel.org>,
Cgroups <cgroups@...r.kernel.org>,
Davide Libenzi <davidel@...ilserver.org>,
Aaron Durbin <adurbin@...gle.com>,
Greg Thelen <gthelen@...gle.com>,
"Kirill A. Shutemov" <kirill.shutemov@...ux.intel.com>
Subject: Re: [PATCH 0/4] cgroup: bug fixes for eventfd
(forgot to cc Kirill A. Shutemov <kirill.shutemov@...ux.intel.com>, added)
On 2013/2/2 14:50, Li Zefan wrote:
> There're three bugs.
>
> - If thread A is removing a cgroup, while thread B is closing an eventfd, the
> two threads might free the same cgroup event and thus crash the kernel.
>
> This is fixed by patch #1 and patch #2.
>
> - If there're multiple threads are blocking in read() on the same eventfd,
> and someone removes the cgroup, only one thread will be notified and unblocked,
> and others won't be unblocked until those threads are killed.
>
> - If thread A is removing a cgroup, while thread B is registering a cgroup event
> and then read the eventfd, it might block until the thread is killed.
>
> These two are fixed by patch #3.
>
> 0001-eventfd-Introduce-eventfd_signal_hangup.patch
> 0002-cgroup-fix-cgroup_rmdir-vs-close-eventfd-race.patch
> 0003-eventfd-make-operations-on-eventfd-return-EIDRM-if-i.patch
> 0004-cgroup-adapt-to-the-new-way-of-detecting-cgroup-remo.patch
>
> --
> fs/eventfd.c | 30 ++++++++++++++++++++++++++++++
> include/linux/eventfd.h | 5 +++++
> kernel/cgroup.c | 30 ++++++++++++++++++------------
> tools/cgroup/cgroup_event_listener.c | 12 +++++-------
> 4 files changed, 58 insertions(+), 19 deletions(-)
>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists