From owner-freebsd-net@FreeBSD.ORG Thu Sep 23 18:58:44 2004 Return-Path: Delivered-To: freebsd-net@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D4EB116A4CE for ; Thu, 23 Sep 2004 18:58:44 +0000 (GMT) Received: from green.homeunix.org (pcp04368961pcs.nrockv01.md.comcast.net [69.140.212.7]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4808C43D2F for ; Thu, 23 Sep 2004 18:58:44 +0000 (GMT) (envelope-from green@green.homeunix.org) Received: from green.homeunix.org (green@localhost [127.0.0.1]) by green.homeunix.org (8.13.1/8.13.1) with ESMTP id i8NIwhDb017796; Thu, 23 Sep 2004 14:58:43 -0400 (EDT) (envelope-from green@green.homeunix.org) Received: (from green@localhost) by green.homeunix.org (8.13.1/8.13.1/Submit) id i8NIwgbo017795; Thu, 23 Sep 2004 14:58:42 -0400 (EDT) (envelope-from green) Date: Thu, 23 Sep 2004 14:58:41 -0400 From: Brian Fundakowski Feldman To: "JINMEI Tatuya / ?$B?@L@C#:H" Message-ID: <20040923185841.GD959@green.homeunix.org> References: <20040922020957.GE84424@green.homeunix.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.6i cc: net@FreeBSD.org Subject: Re: IPv6 route mutex recursion (crash) and fix X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Networking and TCP/IP with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 23 Sep 2004 18:58:45 -0000 On Fri, Sep 24, 2004 at 03:47:22AM +0900, JINMEI Tatuya / ?$B?@L@C#:H wrote: > >>>>> On Tue, 21 Sep 2004 22:09:57 -0400, > >>>>> Brian Fundakowski Feldman said: > > > I've already made noise about this before, so I'll be brief. I plan on > > committing the following fix that prevents the routing code from being > > recursed upon such that RTM_RESOLVE causes the embryonic new route to > > be looked up again. I realize that probably no one will bother trying > > to see this bug in action, but all you need to do is send some UDP6 to > > ff02::1% as a user, with INVARIANTS turned on. > > > Are there any objections? It would be nice to have this in 5-STABLE, > > in case anyone actually wants to have IPv6. > > The patch itself looks okay with the rationale you explained in a > follow-up message. However, I have some related comments. > > As commented in nd6_rtrequest(), the purpose for checking > nd6_is_addr_neighbor() in this function was to avoid creating a > neighbor cache for the destination of some special host-routes. For > FreeBSD, this can happen with the route which has the RTF_PRCLONING > flag. However, since recent versions of FreeBSD (seems to) have got > rid of this flag, we might even remove the check in nd6_rtrequest() > altogether. (Then we'd not need to modify nd6_is_addr_neighbor().) > > But removing the check may be too radical and may have unexpected > side-effect. Also, it'd be nice if we could keep the difference > between the FreeBSD repository code and the KAME snap code as small as > possible, in terms of future merge efforts. In this sense, removing > the nd6_is_addr_neighbor() check from nd6_rtrequest() might be a > suboptimal solution. > > So, as a result, I tend to think the proposed patch is a reasonable > fix to the problem. But please add the rationale as comments, since > the background intent is a bit vague as shown by the question from > George. Thank you for your review. As you certainly are more knowledgable in KAME code than I am, would you mind redoing this so that the style is more closely matched; then I could take the change from the KAME repository? -- Brian Fundakowski Feldman \'[ FreeBSD ]''''''''''\ <> green@FreeBSD.org \ The Power to Serve! \ Opinions expressed are my own. \,,,,,,,,,,,,,,,,,,,,,,\