lkml.org 
[lkml]   [2013]   [Feb]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 0/4] cgroup: bug fixes for eventfd
(forgot to cc Kirill A. Shutemov <kirill.shutemov@linux.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(-)
>



\
 
 \ /
  Last update: 2013-02-02 08:41    [W:0.130 / U:2.172 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site