cvs commit: src/sys/kern uipc_usrreq.c
John Baldwin
jhb at FreeBSD.org
Fri Jan 12 16:24:24 UTC 2007
jhb 2007-01-12 16:24:23 UTC
FreeBSD src repository
Modified files: (Branch: RELENG_6)
sys/kern uipc_usrreq.c
Log:
MFC: Close a race between enumerating UNIX domain socket pcb structures via
sysctl and socket teardown. Note that we engage in a bit of trickery to
preserve the ABI of 'struct unpcb' in 6.x. We change the UMA zone to hold
a 'struct unpcb_wrapper' which holds a 6.x 'struct unpcb' followed by the
new reference count needed for handling the race. We then cast 'struct
unpcb' pointers to 'struct unpcb_wrapper' pointers when we need to access
the reference count.
Submitted by: ups (including the ABI trickery)
Revision Changes Path
1.155.2.8 +36 -7 src/sys/kern/uipc_usrreq.c
More information about the cvs-src
mailing list