Re: LOR in if_detach

From: Harti Brandt <brandt_at_fokus.fraunhofer.de>
Date: Thu, 10 Apr 2003 11:24:27 +0200 (CEST)
On Thu, 10 Apr 2003, Harti Brandt wrote:

HB>On Wed, 9 Apr 2003, M. Warner Losh wrote:
HB>
HB>MWL>How does the lock order get to be radix, driver in the first place?
HB>
HB>It took me some time to find how this comes. It occures with drivers, that
HB>don't use the default ifa_rtrequest, in my case in the midway driver.
HB>In rtrequest1 the radix node head is locked. Later on it calls
HB>ifa->ifa_rtrequest, which in turn calls the driver, where the driver lock
HB>occures.
HB>
HB>I suppose, that the radix head lock should not be held accross the
HB>ifa_rtrequest call, but it is needed a few lines below. Unfortunately my
HB>understanding of the routing code is limited, so I don't know whether this
HB>could be rearranged.

I should add, that I think this can happen with ethernet drivers also
(perhaps when manually adding arp entries). It doesn't show up, because
none of the ethernet drivers actually uses locks.

harti
-- 
harti brandt,
http://www.fokus.fraunhofer.de/research/cc/cats/employees/hartmut.brandt/private
brandt_at_fokus.fraunhofer.de, harti_at_freebsd.org
Received on Thu Apr 10 2003 - 00:24:46 UTC

This archive was generated by hypermail 2.4.0 : Wed May 19 2021 - 11:37:03 UTC