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>