From owner-freebsd-net@FreeBSD.ORG Thu Feb 15 21:50:18 2007 Return-Path: X-Original-To: freebsd-net@freebsd.org Delivered-To: freebsd-net@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id CB83016A400 for ; Thu, 15 Feb 2007 21:50:18 +0000 (UTC) (envelope-from kip.macy@gmail.com) Received: from nf-out-0910.google.com (nf-out-0910.google.com [64.233.182.189]) by mx1.freebsd.org (Postfix) with ESMTP id 613ED13C461 for ; Thu, 15 Feb 2007 21:50:18 +0000 (UTC) (envelope-from kip.macy@gmail.com) Received: by nf-out-0910.google.com with SMTP id m19so1289675nfc for ; Thu, 15 Feb 2007 13:50:17 -0800 (PST) DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:message-id:date:from:to:subject:cc:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=qbUcJP/Bad+qGEnQX4tGxon6A5AAX0TaMQ9UGNqAeFSdLgsB5tF98ffaTO4/lJfPIoVaAHMWkm3739eGFzMe6WF+WGLBIYwLk1pg3Ki9PD9CnJDILCNJldEvTQJ4CGwaOt3zxA2IcHv89cigaBIIn2jrU8F9Al48E1CqdiST3dk= Received: by 10.82.154.2 with SMTP id b2mr3687308bue.1171576216774; Thu, 15 Feb 2007 13:50:16 -0800 (PST) Received: by 10.82.151.15 with HTTP; Thu, 15 Feb 2007 13:50:16 -0800 (PST) Message-ID: Date: Thu, 15 Feb 2007 13:50:16 -0800 From: "Kip Macy" To: "John Polstra" In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Content-Disposition: inline References: Cc: freebsd-net@freebsd.org Subject: Re: bge0: discard frame w/o packet header X-BeenThere: freebsd-net@freebsd.org X-Mailman-Version: 2.1.5 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, 15 Feb 2007 21:50:18 -0000 > > Either way it sounds like someone has discovered a DOS in bge. > > No, it just about has to be a bug -- either in the mbuf allocator, the > driver, or the NIC hardware. M_PKTHDR is a flag in the mbuf header, > an area that isn't touched by packet data. The driver allocates > all of its receive mbufs with the M_PKTHDR flag set. There's no > legitimate way for the flag to get cleared, and nothing coming in on > the wire should be able to cause it to be cleared. I mean a bug in if_bge.c - there are a lot of ways that this could happen - not calling M_GETHDR, mis-calling m_pullup etc. -Kip