tech-kern archive

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

Re: crash in pipe_create()

On Thu, Feb 12, 2009 at 01:34:14PM +0100, Matthias Drochner wrote:

> said:
> > +   SLIST_INIT(&pipe->pipe_sel.sel_klist); 
> Thanks, this helps.

I haven't looked into this change but there may also be the possibility of
an LWP being associated with an unknown pipe via select/poll after the pipe
structure has been recycled. I have not verified that yet and in any case it
would not be a serious bug.

> (It still looks a bit strange for me than one has to deal
> with knote's guts in a standard driver function.)

Having multiple poll mechanisms at the device driver level is ugly. We could
revise the interface. If it was done well small changes could help to reduce
select/poll overhead, and further, make it much more efficient for large
numbers of descriptors by making it easy to keep persistent state for
select/poll (poor man's epoll or kqueue).

Home | Main Index | Thread Index | Old Index