From owner-freebsd-current@FreeBSD.ORG Thu Jun 2 04:57:13 2011 Return-Path: Delivered-To: current@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 3AA6D106566B; Thu, 2 Jun 2011 04:57:13 +0000 (UTC) (envelope-from bz@FreeBSD.org) Received: from mx1.sbone.de (mx1.sbone.de [IPv6:2a01:4f8:130:3ffc::401:25]) by mx1.freebsd.org (Postfix) with ESMTP id E55528FC0C; Thu, 2 Jun 2011 04:57:12 +0000 (UTC) Received: from mail.sbone.de (mail.sbone.de [IPv6:fde9:577b:c1a9:31::2013:587]) (using TLSv1 with cipher ADH-CAMELLIA256-SHA (256/256 bits)) (No client certificate requested) by mx1.sbone.de (Postfix) with ESMTPS id 2C0D825D385D; Thu, 2 Jun 2011 04:57:12 +0000 (UTC) Received: from content-filter.sbone.de (content-filter.sbone.de [IPv6:fde9:577b:c1a9:31::2013:2742]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by mail.sbone.de (Postfix) with ESMTPS id 63968159FE84; Thu, 2 Jun 2011 04:57:11 +0000 (UTC) X-Virus-Scanned: amavisd-new at sbone.de Received: from mail.sbone.de ([IPv6:fde9:577b:c1a9:31::2013:587]) by content-filter.sbone.de (content-filter.sbone.de [fde9:577b:c1a9:31::2013:2742]) (amavisd-new, port 10024) with ESMTP id UZLayjTstG+7; Thu, 2 Jun 2011 04:57:10 +0000 (UTC) Received: from orange-en1.sbone.de (orange-en1.sbone.de [IPv6:fde9:577b:c1a9:31:cabc:c8ff:fecf:e8e3]) (using TLSv1 with cipher AES128-SHA (128/128 bits)) (No client certificate requested) by mail.sbone.de (Postfix) with ESMTPSA id 29447159FE7C; Thu, 2 Jun 2011 04:57:10 +0000 (UTC) Mime-Version: 1.0 (Apple Message framework v1084) Content-Type: text/plain; charset=us-ascii From: "Bjoern A. Zeeb" In-Reply-To: Date: Thu, 2 Jun 2011 04:57:09 +0000 Content-Transfer-Encoding: quoted-printable Message-Id: References: To: Robert Watson X-Mailer: Apple Mail (2.1084) Cc: current@FreeBSD.org Subject: Re: FYI: merging TCP, UDP, netisr locking changes X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 02 Jun 2011 04:57:13 -0000 On May 30, 2011, at 9:53 AM, Robert Watson wrote: >> This work has been sponsored by Juniper Networks. Thanks also to = Bjoern Zeeb, who has been reviewing changes! And pointy hat to me for missing this one:( > After a series of smaller commits, I've just merged some initial = decomposition of the pcbinfo lock into an additional pcbhash lock, which = changes lock ordering and lookup with respect to inpcbs significantly = (r222488; commit message below). I expect there to be some initial = instability as people shake out edge cases I didn't bump into in my = testing. Please report bugs to current@, and I'll pick them up there! Can you review the following I found this morning on my IPv6 only snapshot VM. We need to make sure all the src/tools/regression test cases equally run IPv6. Patches certainly welcome from the community! ! ! Do not leak the pcbinfohash lock in case in6_pcbladdr() errors ! for a tcp connect on IPv6. ! ! Submitted by: bz ! Index: sys/netinet/tcp_usrreq.c =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- sys/netinet/tcp_usrreq.c (revision 222591) +++ sys/netinet/tcp_usrreq.c (working copy) @@ -1158,7 +1158,7 @@ tcp6_connect(struct tcpcb *tp, struct sockaddr *na */ error =3D in6_pcbladdr(inp, nam, &addr6); if (error) - return error; + goto out; oinp =3D in6_pcblookup_hash_locked(inp->inp_pcbinfo, &sin6->sin6_addr, sin6->sin6_port, = IN6_IS_ADDR_UNSPECIFIED(&inp->in6p_laddr) --=20 Bjoern A. Zeeb You have to have visions! Stop bit received. Insert coin for new address family.