Robert Watson 46a1d9bfe8 Change unp_mtx to supporting recursion, and do not drop the unp_mtx over
sonewconn() in unp_connect().  This avoids a race that occurs due to
v_socket being an uncounted reference, as the lock was being released in
order to call sonewconn(), which otherwise recurses into the UNIX domain
socket code via pru_attach, as well as holding the lock over a sleeping
memory allocation in uipc_attach().  Switch to a non-sleeping memory
allocation during UNIX domain socket attach.

This fix non-ideal in that it requires enabling recursion, but is a much
smaller change than moving to using true references for v_socket.  The
reported panic occurs in unp_connect() following the return of
sonewconn().

Update copyright year.

Panic reported by:      jhb
2007-02-14 12:22:11 +00:00
..
2007-02-14 04:41:28 +00:00
2006-12-29 16:38:22 +00:00
2007-02-12 23:24:31 +00:00
2007-02-12 23:24:31 +00:00
2006-12-14 17:33:46 +00:00
2006-11-28 19:33:28 +00:00
2006-11-26 18:27:16 +00:00