From owner-p4-projects@FreeBSD.ORG Thu Sep 4 14:45:17 2003 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id A19B816A4C1; Thu, 4 Sep 2003 14:45:17 -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 6697C16A4BF for ; Thu, 4 Sep 2003 14:45:17 -0700 (PDT) Received: from repoman.freebsd.org (repoman.freebsd.org [216.136.204.115]) by mx1.FreeBSD.org (Postfix) with ESMTP id F204843FCB for ; Thu, 4 Sep 2003 14:45:16 -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 h84LjG0U050809 for ; Thu, 4 Sep 2003 14:45:16 -0700 (PDT) (envelope-from sam@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.12.6/8.12.6/Submit) id h84LjGsx050806 for perforce@freebsd.org; Thu, 4 Sep 2003 14:45:16 -0700 (PDT) Date: Thu, 4 Sep 2003 14:45:16 -0700 (PDT) Message-Id: <200309042145.h84LjGsx050806@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 37532 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:45:18 -0000 http://perforce.freebsd.org/chv.cgi?CH=37532 Change 37532 by sam@sam_ebb on 2003/09/04 14:44:21 Reduce window during which a race can occur when detaching an interface from each descriptor that references it. This is just a bandaid; the locking here is bogus. Affected files ... .. //depot/projects/netperf/sys/net/bpf.c#5 edit Differences ... ==== //depot/projects/netperf/sys/net/bpf.c#5 (text+ko) ==== @@ -278,7 +278,9 @@ struct bpf_d **p; struct bpf_if *bp; + /* XXX locking */ bp = d->bd_bif; + d->bd_bif = 0; /* * Check if this descriptor had requested promiscuous mode. * If so, turn it off. @@ -310,9 +312,8 @@ /* * Let the driver know that there are no more listeners. */ - *d->bd_bif->bif_driverp = 0; + *bp->bif_driverp = 0; BPFIF_UNLOCK(bp); - d->bd_bif = 0; } /*