Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 8 May 2007 13:31:46 +0100 (BST)
From:      Robert Watson <rwatson@FreeBSD.org>
To:        stable@FreeBSD.org
Subject:   UNIX domain sockets MFC's
Message-ID:  <20070508132149.A24765@fledge.watson.org>

next in thread | raw e-mail | index | archive | help

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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070508132149.A24765>