On Tue, Sep 20, 2016 at 04:17:37PM +0200, Mike Belopuhov wrote: > Can we assert that *_usrreq is always called under splsoftnet?
I think that is the way to go. Long time back the spl moved from inet to socket. We need it in the socket layer to fix various races. > I recall fixing some of them for raw sockets and some such and > was wondering if the spl has to be raised before we end up there. To fix every protocol individually makes not much sense. We need the lock in the socket layer, otherwise all the assertions cannot work. It would be difficult if we run the socket code with more or less locks depending on the socket type. I would say move most the splsoftnet() into uipc_socket.c and replace it with an propper rwlock/mutex/whatever later. bluhm
