UNIX domain sockets MFC's
Robert Watson
rwatson at FreeBSD.org
Tue May 8 12:31:47 UTC 2007
Dear all,
I have just completed the merge of a significant number of UNIX domain socket
bug fixes and cleanups from HEAD to RELENG_6. While my hope is that these are
generally low-risk, and should improve UNIX domain socket stability and
performance under load, there were quite a few changes involved. As such,
please keep an eye out for any new problems with UNIX domain sockets, and drop
me an e-mail if you run into any. The changes in the recent MFC spree
include:
- Additional MAC check for UNIX domain socket connect().
- Cleanup of structure, comments, white space, and consolidation of
uipc_proto.c into uipc_usrreq.c. Removal of redundant code.
- Fixed races involving simultaneous bind() and connect() between two threads
or processes on the same UNIX domain socket.
- Reduced period of overlapped acquisition of socket buffer mutexes during
send/receive, which should lower lock contention under load.
Right now I am tracking two known issues with UNIX domain sockets in RELENG_6:
- Reported NULL point derference in unp_connect(), which occurs due to the
dropping of locks around sonewconn(). This is fixed in HEAD, and I am
preparing an MFC of this patch.
- Reported UNIX domain socket connection leak. This is not yet fully
diagnosed.
Robert N M Watson
Computer Laboratory
University of Cambridge
More information about the freebsd-stable
mailing list