From owner-svn-src-user@FreeBSD.ORG Mon Nov 5 09:26:28 2012 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 49349F9D; Mon, 5 Nov 2012 09:26:28 +0000 (UTC) (envelope-from andre@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 16C578FC14; Mon, 5 Nov 2012 09:26:28 +0000 (UTC) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.5/8.14.5) with ESMTP id qA59QRwN069288; Mon, 5 Nov 2012 09:26:27 GMT (envelope-from andre@svn.freebsd.org) Received: (from andre@localhost) by svn.freebsd.org (8.14.5/8.14.5/Submit) id qA59QR14069284; Mon, 5 Nov 2012 09:26:27 GMT (envelope-from andre@svn.freebsd.org) Message-Id: <201211050926.qA59QR14069284@svn.freebsd.org> From: Andre Oppermann Date: Mon, 5 Nov 2012 09:26:27 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r242603 - in user/andre/tcp_workqueue/sys: kern netinet X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 05 Nov 2012 09:26:28 -0000 Author: andre Date: Mon Nov 5 09:26:27 2012 New Revision: 242603 URL: http://svnweb.freebsd.org/changeset/base/242603 Log: Annotate possible socket locking issues for investigation. Modified: user/andre/tcp_workqueue/sys/kern/uipc_socket.c user/andre/tcp_workqueue/sys/netinet/tcp_input.c user/andre/tcp_workqueue/sys/netinet/tcp_syncache.c Modified: user/andre/tcp_workqueue/sys/kern/uipc_socket.c ============================================================================== --- user/andre/tcp_workqueue/sys/kern/uipc_socket.c Mon Nov 5 09:23:21 2012 (r242602) +++ user/andre/tcp_workqueue/sys/kern/uipc_socket.c Mon Nov 5 09:26:27 2012 (r242603) @@ -519,6 +519,7 @@ sonewconn(struct socket *head, int conns __func__, head->so_pcb); return (NULL); } + /* XXXAO: "so" is not locked. */ if ((head->so_options & SO_ACCEPTFILTER) != 0) connstatus = 0; so->so_head = head; Modified: user/andre/tcp_workqueue/sys/netinet/tcp_input.c ============================================================================== --- user/andre/tcp_workqueue/sys/netinet/tcp_input.c Mon Nov 5 09:23:21 2012 (r242602) +++ user/andre/tcp_workqueue/sys/netinet/tcp_input.c Mon Nov 5 09:26:27 2012 (r242603) @@ -1034,6 +1034,8 @@ relocked: * attempt or the completion of a previous one. Because listen * sockets are never in TCPS_ESTABLISHED, the V_tcbinfo lock will be * held in this case. + * + * XXXAO: "so" is not locked! */ if (so->so_options & SO_ACCEPTCONN) { struct in_conninfo inc; Modified: user/andre/tcp_workqueue/sys/netinet/tcp_syncache.c ============================================================================== --- user/andre/tcp_workqueue/sys/netinet/tcp_syncache.c Mon Nov 5 09:23:21 2012 (r242602) +++ user/andre/tcp_workqueue/sys/netinet/tcp_syncache.c Mon Nov 5 09:26:27 2012 (r242603) @@ -642,6 +642,8 @@ done: /* * Build a new TCP socket structure from a syncache entry. + * + * XXXAO: Neither "lso" nor "so" is locked! */ static struct socket * syncache_socket(struct syncache *sc, struct socket *lso, struct mbuf *m) @@ -907,6 +909,8 @@ abort2: * in the syncache, and if its there, we pull it out of * the cache and turn it into a full-blown connection in * the SYN-RECEIVED state. + * + * XXXAO: Neither "lso" nor "lsop" is locked! */ int syncache_expand(struct in_conninfo *inc, struct tcpopt *to, struct tcphdr *th,