From owner-freebsd-current@FreeBSD.ORG Mon Apr 19 01:51:25 2004 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 8BABF16A4D0 for ; Mon, 19 Apr 2004 01:51:25 -0700 (PDT) Received: from mail.gmx.net (imap.gmx.net [213.165.64.20]) by mx1.FreeBSD.org (Postfix) with SMTP id AA8FA43D45 for ; Mon, 19 Apr 2004 01:51:24 -0700 (PDT) (envelope-from andreas.kohn@gmx.net) Received: (qmail 1623 invoked by uid 65534); 19 Apr 2004 08:51:23 -0000 Received: from wlan034175.uni-rostock.de (HELO mobile.ankon.homeip.net) (139.30.34.175) by mail.gmx.net (mp003) with SMTP; 19 Apr 2004 10:51:23 +0200 X-Authenticated: #2431876 Date: Mon, 19 Apr 2004 10:51:13 +0200 From: Andreas Kohn To: Luigi Rizzo Message-Id: <20040419105113.3a977e39.andreas.kohn@gmx.net> In-Reply-To: <20040419013627.A88297@xorpc.icir.org> References: <1082303878.855.6.camel@klamath.syndrom23.de> <20040419013627.A88297@xorpc.icir.org> Organization: X-Mailer: Sylpheed version 0.9.9-gtk2-20040229 (GTK+ 2.2.4; i386-portbld-freebsd5.2) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit cc: current@freebsd.org Subject: Re: Page fault in rt_newaddrmsg on gif0 destruction X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 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: Mon, 19 Apr 2004 08:51:25 -0000 On Mon, 19 Apr 2004 01:36:27 -0700 Luigi Rizzo wrote: > Ok i understand what is going on (thanks for the very detailed > report, btw) -- basically the code was trying to use > ifadd_byindex() after the information had been destroyed. > > I think the attached patch (basically mving a block of code down > in if_detach) should fix the problem. > > Actually I believe this particular chunk of code should be moved > even further down, possibly right before the final IF_AFDATA_UNLOCK(), > because you cannot tell, a-priori, what information on the device > the lower level routines expect to use, so zeroing the ifindex_table[] > or calling destroy_dev() too early is probably a bug. > > If you can try it (in the proposed form, or moving it at the end > of if_detach) and let me khow how it works for you, i can commit > the fix. Hi, thanks. I will try it as soon as I return home (in around 8 hours), and report back then. Regards, Andreas