From owner-cvs-src@FreeBSD.ORG Thu Sep 15 19:22:06 2005 Return-Path: X-Original-To: cvs-src@FreeBSD.org Delivered-To: cvs-src@FreeBSD.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 5377E16A41F; Thu, 15 Sep 2005 19:22:06 +0000 (GMT) (envelope-from jhb@FreeBSD.org) Received: from mv.twc.weather.com (mv.twc.weather.com [65.212.71.225]) by mx1.FreeBSD.org (Postfix) with ESMTP id B380243D45; Thu, 15 Sep 2005 19:22:05 +0000 (GMT) (envelope-from jhb@FreeBSD.org) Received: from [10.50.41.233] (Not Verified[10.50.41.233]) by mv.twc.weather.com with NetIQ MailMarshal (v6, 0, 3, 8) id ; Thu, 15 Sep 2005 15:37:45 -0400 From: John Baldwin To: Ruslan Ermilov Date: Thu, 15 Sep 2005 15:21:12 -0400 User-Agent: KMail/1.8 References: <200509151859.j8FIxY6v007639@repoman.freebsd.org> In-Reply-To: <200509151859.j8FIxY6v007639@repoman.freebsd.org> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-6" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200509151521.14204.jhb@FreeBSD.org> Cc: cvs-src@FreeBSD.org, src-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: Re: cvs commit: src/sys/dev/re if_re.c X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 15 Sep 2005 19:22:06 -0000 On Thursday 15 September 2005 02:59 pm, Ruslan Ermilov wrote: > ru 2005-09-15 18:59:34 UTC > > FreeBSD src repository > > Modified files: > sys/dev/re if_re.c > Log: > re_detach() fixes: > > - Fixed if_free() logic screw-up that can either result > in freeing a NULL pointer or leaking "struct ifnet". > - Move if_free() after re_stop(); the latter accesses > "struct ifnet". This bug was masked by a previous bug. > - Restore the fix for a panic on detach caused by racing > with BPF detach code by Bill by moving ether_ifdetach() > after re_stop() and resetting IFF_UP; this got screwed > up in revs. 1.30 and 1.36. Device drivers should not modify IFF_UP. Instead, the interrupt handler should be checking IFF_DRV_RUNNING rather than IFF_UP (foo_stop() clears IFF_DRV_RUNNING). -- John Baldwin <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve" = http://www.FreeBSD.org