cvs commit: src/sys/netipx ipx_input.c spx_usrreq.c

Robert Watson rwatson at FreeBSD.org
Thu Mar 10 06:36:35 PST 2005


rwatson     2005-03-10 14:36:35 UTC

  FreeBSD src repository

  Modified files:        (Branch: RELENG_5)
    sys/netipx           ipx_input.c spx_usrreq.c 
  Log:
  Merge ipx_input.c:1.48, spx_srreq.c:1.61 from HEAD to RELENG_5:
  
    Use the IPX PCB list mutex and IPX PCB mutexes to lock down the SPX
    portion of IPX/SPX:
  
    - Protect IPX PCB lists with the IPX PCB list mutex, in particular
      when calling PCB and PCB list manipulation routines in ipx_pcb.c.
    - Protect both IPX PCB state and SPX PCB state using the IPX PCB
      mutex.
    - Generally annotate locking, as well as adding liberal use of lock
      assertions to document locking requirements.
    - Where possible, use unlocked reads when reading integer or smaller
      sized socket options on SPX sockets.
    - De-spl throughout.
  
    Notes:
  
    - spx_input() expects both the list mutex and PCB mutex to be held
      on entry, but will release both on return.  Because sonewconn() is
      called from spx_input(), it may actually drop one PCB lock and
      acquire another during generation of a new connection, meaning the
      caller is not in a position to unlock the PCB mutex.
  
  Approved by:    re (kensmith)
  
  Revision   Changes    Path
  1.34.4.13  +2 -1      src/sys/netipx/ipx_input.c
  1.46.2.14  +108 -38   src/sys/netipx/spx_usrreq.c


More information about the cvs-src mailing list