Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 9 Jun 2010 16:42:42 +0000 (UTC)
From:      Randall Stewart <rrs@FreeBSD.org>
To:        cvs-src-old@freebsd.org
Subject:   cvs commit: src/sys/netinet sctp_pcb.c
Message-ID:  <201006091643.o59Gh35t008174@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
rrs         2010-06-09 16:42:42 UTC

  FreeBSD src repository

  Modified files:
    sys/netinet          sctp_pcb.c 
  Log:
  SVN rev 208953 on 2010-06-09 16:42:42Z by rrs
  
  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
  
  Revision  Changes    Path
  1.108     +38 -22    src/sys/netinet/sctp_pcb.c



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201006091643.o59Gh35t008174>