Date: Thu, 10 Mar 2005 14:36:35 +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: <200503101436.j2AEaZor048336@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200503101436.j2AEaZor048336>
