From owner-freebsd-stable@FreeBSD.ORG Sun Nov 13 19:31:29 2005 Return-Path: X-Original-To: stable@FreeBSD.org Delivered-To: freebsd-stable@FreeBSD.ORG Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id D461C16A41F for ; Sun, 13 Nov 2005 19:31:29 +0000 (GMT) (envelope-from rwatson@FreeBSD.org) Received: from cyrus.watson.org (cyrus.watson.org [209.31.154.42]) by mx1.FreeBSD.org (Postfix) with ESMTP id 6A8A143D45 for ; Sun, 13 Nov 2005 19:31:29 +0000 (GMT) (envelope-from rwatson@FreeBSD.org) Received: from fledge.watson.org (fledge.watson.org [209.31.154.41]) by cyrus.watson.org (Postfix) with ESMTP id 9F75246B87; Sun, 13 Nov 2005 14:31:28 -0500 (EST) Date: Sun, 13 Nov 2005 19:31:28 +0000 (GMT) From: Robert Watson X-X-Sender: robert@fledge.watson.org To: Jason In-Reply-To: <20051113185045.GA63704@monsterjam.org> Message-ID: <20051113192901.O90423@fledge.watson.org> References: <20051113134951.GA3965@monsterjam.org> <20051113144034.S88008@fledge.watson.org> <20051113161744.GB3965@monsterjam.org> <20051113174635.L90423@fledge.watson.org> <20051113185045.GA63704@monsterjam.org> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed Cc: stable@FreeBSD.org Subject: Re: can someone please let me know what this crash means? X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 13 Nov 2005 19:31:30 -0000 On Sun, 13 Nov 2005, Jason wrote: > I am running ipfw on this box and do have $fwcmd add divert natd all > from any to any via fxp0 > > hmm, I guess its time to upgrade to 6.0? The attached untested patch will most likely prevent the bug from recurring by eliminating parallelism between the ip_input() call from the divert socket and other ip_input() processing in the netisr, as it defers that processing to the netisr. However, it won't fix the underlying bug, which I'll keep looking for, and needs to be fixed in order to support net.isr.direct and various other future plans for network stack behavior. I'll see if I can dig someone up to test ipdivert changes, since I'm not set up to test them here easily currently. Thanks, Robert N M Watson Index: ip_divert.c =================================================================== RCS file: /home/ncvs/src/sys/netinet/ip_divert.c,v retrieving revision 1.113 diff -u -r1.113 ip_divert.c --- ip_divert.c 13 May 2005 11:44:37 -0000 1.113 +++ ip_divert.c 13 Nov 2005 19:27:32 -0000 @@ -61,6 +61,7 @@ #include #include +#include #include #include @@ -378,7 +379,7 @@ SOCK_UNLOCK(so); #endif /* Send packet to input processing */ - ip_input(m); + netisr_queue(NETISR_IP, m); } return error;