[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH 1/2] libxl: fix reentrancy hazard in fd event processing



On Wed, 2012-07-25 at 17:10 +0100, Ian Jackson wrote:
> Ian Campbell writes ("Re: [PATCH 1/2] libxl: fix reentrancy hazard in fd 
> event processing"):
> > On Fri, 2012-07-20 at 19:18 +0100, Ian Jackson wrote:
> ...
> > >   Program terminated with signal 11, Segmentation fault.
> > >   #0  0x00007f7ff743131b in afterpoll_check_fd (poller=<optimized out>, 
> > > fds=0x7f7ff7b241c0, nfds=7, fd=-1, events=1)
> > >       at libxl_event.c:856
> > >   856             if (fds[slot].fd != fd)
> > 
> > Has Roger or you tested this now?
> 
> I still haven't tested the new version I'm afraid.

OK, I'll hold off on committing then.

> 
> > It looks plausible to me.
> 
> :-).
> 
> > > diff --git a/tools/libxl/libxl_internal.h b/tools/libxl/libxl_internal.h
> > > index 2781398..e938660 100644
> > > --- a/tools/libxl/libxl_internal.h
> > > +++ b/tools/libxl/libxl_internal.h
> > > @@ -272,7 +272,7 @@ struct libxl__poller {
> > >      int fd_polls_allocd;
> > >  
> > >      int fd_rindices_allocd;
> > > -    int (*fd_rindices)[3]; /* see libxl_osevent_beforepoll */
> > > +    int (*fd_rindices)[3]; /* see libxl_event.c:beforepoll_internal */
> > 
> > do you mean afterpoll here?
> 
> No.  I mean this comment:
> 
>     /*
>      * In order to be able to efficiently find the libxl__ev_fd for a
>      * struct poll during _afterpoll, we maintain a shadow data
>      * structure in CTX->fd_rindices: each fd corresponds to a slot in
>      * fd_rindices, and each element in the rindices is three indices
>      * into the fd array (for POLLIN, POLLPRI and POLLOUT).
>      */
> 
> which is halfway down beforepoll_internal.

Ah, OK. I thought it was a reference to one of the new comments.
Nevermnd.

> 
> Ian.



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.