Date: Mon, 5 Nov 2012 09:26:27 +0000 (UTC) From: Andre Oppermann <andre@FreeBSD.org> To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r242603 - in user/andre/tcp_workqueue/sys: kern netinet Message-ID: <201211050926.qA59QR14069284@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
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,
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201211050926.qA59QR14069284>