Re: [PATCH 3/3] eventfd: add internal reference counting to fix notifier race conditions

Rusty Russell
2009-06-23T03:25:34Z

On Mon, 22 Jun 2009 09:24:20 am Davide Libenzi wrote:
> I actually ended up exposing the eventfd context anyway, since IMO is a
> better option instead of holding references to the eventfd file (that
> makes VFS people uneasy).

lguest is a special case since we don't let them close the fds, except by
closing /dev/lguest.

Lguest change seems fine, but:

> Index: linux-2.6.mod/drivers/lguest/lg.h
> ===================================================================
> --- linux-2.6.mod.orig/drivers/lguest/lg.h 2009-06-21 15:55:17.000000000
> -0700 +++ linux-2.6.mod/drivers/lguest/lg.h 2009-06-21 15:56:00.000000000
> -0700 @@ -80,9 +80,11 @@ struct lg_cpu {
> struct lg_cpu_arch arch;
> };
>
> +struct eventfd_ctx;
> +
> struct lg_eventfd {
> unsigned long addr;
> - struct file *event;
> + struct eventfd_ctx *event;
> };

The first 'struct eventfd_ctx;' line is not required.

Thanks,
Rusty.