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

Robert Watson rwatson at FreeBSD.org
Sat Jan 8 21:31:16 PST 2005


rwatson     2005-01-09 05:31:16 UTC

  FreeBSD src repository

  Modified files:
    sys/netipx           ipx_input.c spx_usrreq.c 
  Log:
  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.
  
  MFC after:      3 weeks
  
  Revision  Changes    Path
  1.48      +2 -1      src/sys/netipx/ipx_input.c
  1.61      +108 -38   src/sys/netipx/spx_usrreq.c


More information about the cvs-src mailing list