Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 10 Nov 2006 13:34:55 +0000 (UTC)
From:      Randall Stewart <rrs@FreeBSD.org>
To:        src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/sys/netinet sctp_output.c sctputil.c
Message-ID:  <200611101334.kAADYtGs021533@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
rrs         2006-11-10 13:34:55 UTC

  FreeBSD src repository

  Modified files:
    sys/netinet          sctp_output.c sctputil.c 
  Log:
  This patch fixes a LOR that happens during INIT-ACK collision.
  We were calling select_a_tag() inside sctp_send_initate_ack().
  During collision cases we have a stcb and thus a SCTP_LOCK. When
  we call select_a_tag it (below it) locks the INFO lock. We now
  1) pre-select the nonce-tie-tags in sctputil.c during setup of
     a tcb.
  2) In the other case where we have to select tags, we unlock after
     incr the ref cnt (so assoc won't go away0 and then do the
     tag selection followed by a relock and decr the refcnt.
  Approved by:    gnn
  
  Revision  Changes    Path
  1.4       +13 -9     src/sys/netinet/sctp_output.c
  1.5       +4 -0      src/sys/netinet/sctputil.c



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