Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 9 Jan 2005 05:31:16 +0000 (UTC)
From:      Robert Watson <rwatson@FreeBSD.org>
To:        src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/sys/netipx ipx_input.c spx_usrreq.c
Message-ID:  <200501090531.j095VGkg042904@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
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



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