From owner-p4-projects@FreeBSD.ORG Thu Sep 4 14:47:21 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 5C5D716A4C1; Thu, 4 Sep 2003 14:47:21 -0700 (PDT) Delivered-To: perforce@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 2023C16A4BF for ; Thu, 4 Sep 2003 14:47:21 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3BD5843FF7 for ; Thu, 4 Sep 2003 14:47:20 -0700 (PDT) (envelope-from sam@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.12.6/8.12.6) with ESMTP id h84LlK0U050906 for ; Thu, 4 Sep 2003 14:47:20 -0700 (PDT) (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id h84LlJt3050903 for perforce@freebsd.org; Thu, 4 Sep 2003 14:47:19 -0700 (PDT) Date: Thu, 4 Sep 2003 14:47:19 -0700 (PDT) Message-Id: <200309042147.h84LlJt3050903@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to sam@freebsd.org using -f From: Sam Leffler To: Perforce Change Reviews Subject: PERFORCE change 37533 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 04 Sep 2003 21:47:21 -0000 http://perforce.freebsd.org/chv.cgi?CH=37533 Change 37533 by sam@sam_ebb on 2003/09/04 14:46:32 Add missing bpfdetach calls. These potentially caused the driver softc to be modified after free if dhclient was active as the interface was detached at the 802.11 and Ethernet layers but not the driver. Consequently when dhclient closed it's file descriptor the bpf code blindly wrote to the softc structure. Affected files ... .. //depot/projects/netperf/sys/dev/ath/if_ath.c#12 edit .. //depot/projects/netperf/sys/dev/wi/if_wi.c#7 edit Differences ... ==== //depot/projects/netperf/sys/dev/ath/if_ath.c#12 (text+ko) ==== @@ -332,6 +332,7 @@ mtx_lock(&sc->sc_mtx); ath_stop(ifp); + bpfdetach(ifp); ath_desc_free(sc); ath_hal_detach(sc->sc_ah); ieee80211_ifdetach(ifp); ==== //depot/projects/netperf/sys/dev/wi/if_wi.c#7 (text+ko) ==== @@ -506,6 +506,9 @@ wi_stop(ifp, 0); +#if NBPFILTER > 0 + bpfdetach(ifp); +#endif ieee80211_ifdetach(ifp); WI_UNLOCK(sc); bus_teardown_intr(dev, sc->irq, sc->wi_intrhand);