I am hitting an race condition ( fairly hard to reproduce ) but has been reproduced in our test setup twice so far. After looking at the call trace , it seems to me that the UNP_LINK_WLOCK is being called in this particular call flow. This looks like an error condition . All of the sonewconn in the src don't have this locked so freeing it before sonewconn is called.
Created a bug on freebsd to explain the bug.
I think at the very least, this needs a paired UNP_LINK_WLOCK(). Later code in this routine expects the lock to be held.