Randall Stewart b3a44e469d Fix serveral bugs all having to do with freeing an
sctp_inpcb:
1) Make sure not to remove the flag on the PCB until
   after the close() caller is back in control with the
   lock. Otherwise a quickly freeing assoc could kill the
   inpcb and cause a panic.

2) Make sure all calls to log_closing have not released
   the locks before calling the log function, we don't
   want the logging function to crash us due to a freed
   inpcb.

3) Make sure that when we get to the end, we release all
   locks (after removing them from view) and as long as
   we are NOT the inp-kill timer removing the inp, call
   the callout_drain() function so a racing timer won't
   later call in and cause a racing crash.
MFC after:	1 week
2010-06-09 16:42:42 +00:00
..
2008-12-15 06:10:57 +00:00
2010-06-05 21:33:16 +00:00
2010-06-05 21:33:16 +00:00
2010-06-05 21:27:43 +00:00
2010-06-05 21:20:28 +00:00
2010-06-06 02:32:20 +00:00
2009-06-17 12:34:56 +00:00