From owner-freebsd-current@FreeBSD.ORG Wed Apr 9 09:41:02 2003 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 35DF437B404 for ; Wed, 9 Apr 2003 09:41:02 -0700 (PDT) Received: from mailhub.fokus.fraunhofer.de (mailhub.fokus.fraunhofer.de [193.174.154.14]) by mx1.FreeBSD.org (Postfix) with ESMTP id D70E143F75 for ; Wed, 9 Apr 2003 09:41:00 -0700 (PDT) (envelope-from brandt@fokus.fraunhofer.de) Received: from beagle (beagle [193.175.132.100])h39GexE01275 for ; Wed, 9 Apr 2003 18:40:59 +0200 (MEST) Date: Wed, 9 Apr 2003 18:40:59 +0200 (CEST) From: Harti Brandt To: current@freebsd.org Message-ID: <20030409183521.D644@beagle.fokus.fraunhofer.de> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Subject: LOR in if_detach X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 09 Apr 2003 16:41:02 -0000 Hi all, is there any insight on how to avoid an LOR in if_detach? The problem is, that the locking order of the radix node head and the network driver is first the radix node head and then the network driver. if_detach, however, one has to call with the driver lock held. if_detach in order has to remove routes pointing to the interface and needs to lock the radix node head for this. And there we have an LOR. The only 'solution' I see at the moment is to live with the race window and unlock the interface before calling if_detach. Any other ideas? harti -- harti brandt, http://www.fokus.fraunhofer.de/research/cc/cats/employees/hartmut.brandt/private brandt@fokus.fraunhofer.de, harti@freebsd.org