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