From owner-svn-src-all@FreeBSD.ORG Wed Sep 26 12:48:04 2012 Return-Path: Delivered-To: svn-src-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 86FC8106564A; Wed, 26 Sep 2012 12:48:04 +0000 (UTC) (envelope-from carpeddiem@gmail.com) Received: from mail-ie0-f182.google.com (mail-ie0-f182.google.com [209.85.223.182]) by mx1.freebsd.org (Postfix) with ESMTP id 31C028FC15; Wed, 26 Sep 2012 12:48:03 +0000 (UTC) Received: by ieak10 with SMTP id k10so1810050iea.13 for ; Wed, 26 Sep 2012 05:48:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type; bh=fuNKLbHXP1RkzJKttQJWvcaQAqg6RNzoXsej7xc+C7o=; b=P+ywHHWabipMqzUPMaOtcZvnHQ5nn+8GhHDaRfvNcdCN56IJAfh7KEOzftsk/zxeqd wWlLZ05cruUi/936SNjwJiOwgsDrRClJQn3GRNaq0EbGlKiL2lqE1Vq9mx+4ar4m1W+C OJUMRTRA09e3aB2i4bcLJI48ZK54J+BAxwKjSOi/4aQUtQ3Ewr+P6G6IbPQONmtCfNaI djQ5AwJ64XFnVJ+UUVdWVCPAkzpxPMlfdoHsI5pmqkgt8yKdNjt0C2L0OcdU0ZmRzYWT rzzjh3H5HuE5K4HJAbllhEn3D7tGNM/KhUYQWSc22dTcZG1OuW3gTf4cpQ75BU24FdY5 DdiA== MIME-Version: 1.0 Received: by 10.42.133.201 with SMTP id i9mr289614ict.29.1348663683434; Wed, 26 Sep 2012 05:48:03 -0700 (PDT) Sender: carpeddiem@gmail.com Received: by 10.50.57.163 with HTTP; Wed, 26 Sep 2012 05:48:03 -0700 (PDT) In-Reply-To: <20120926045204.GG35915@deviant.kiev.zoral.com.ua> References: <201209252210.q8PMAEx5003950@svn.freebsd.org> <20120926045204.GG35915@deviant.kiev.zoral.com.ua> Date: Wed, 26 Sep 2012 08:48:03 -0400 X-Google-Sender-Auth: zDJk65vTwPWKPfVztCg7yNu2AA8 Message-ID: From: Ed Maste To: Konstantin Belousov Content-Type: text/plain; charset=ISO-8859-1 Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r240938 - head/sys/net X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 26 Sep 2012 12:48:04 -0000 On 26 September 2012 00:52, Konstantin Belousov wrote: > On Tue, Sep 25, 2012 at 10:10:14PM +0000, Ed Maste wrote: >> Author: emaste >> Date: Tue Sep 25 22:10:14 2012 >> New Revision: 240938 >> URL: http://svn.freebsd.org/changeset/base/240938 >> >> Log: >> Avoid INVARIANTS panic destroying an in-use tap(4) >> >> The requirement (implied by the KASSERT in tap_destroy) that the tap is >> closed isn't valid; destroy_dev will block in devdrn while other threads >> are in d_* functions. > Are you sure ? > > The device may be opened, but no threads could be in any cdevsw > methods. destroy_dev(9) only waits for threads to leave cdevsw methods, > and not for the close to happen. My first approach mirrored if_tun, but jhb@ pointed out on IRC that any open devices will revert to dead_devsw so that future accesses will fail. -Ed