On Tue, Sep 20, 2016 at 09:27:57AM -0400, David Hill wrote:
> On Tue, Sep 20, 2016 at 03:16:50PM +0200, Alexander Bluhm wrote:
> > On Tue, Sep 20, 2016 at 08:21:55AM -0400, David Hill wrote:
> > > With bluhm's r1.160 uipc_socket.c.
> > > Here are the first ones that were detected.
> > Thanks for the fast report.
> > So fifo works around the socket layer. Better call soconnect2()
> > instead of unp_connect2(). This adds the missing splsoftnet().
> > I think we should demand that socantsendmore() and socantrcvmore()
> > in uipc_socket2.c should be called with splsoftnet().
> Should both socantsendmore() and socantrcvmore() get a splsoftassert()
> then, for now?
No, not more asserts please :-)
The goal is to find one entry layer in the kernel where we can put
the network lock. I is pretty much where we have the splsoftnet()
The fifo, unix, pfkey and routing sockets don't work well with this
idea now. Maybe I backout the splsoftasserts in the wakeup code
if I cannot fix it fast.