LOR in if_detach

Harti Brandt brandt at fokus.fraunhofer.de
Thu Apr 10 02:17:48 PDT 2003


On Wed, 9 Apr 2003, M. Warner Losh wrote:

MWL>How does the lock order get to be radix, driver in the first place?

It took me some time to find how this comes. It occures with drivers, that
don't use the default ifa_rtrequest, in my case in the midway driver.
In rtrequest1 the radix node head is locked. Later on it calls
ifa->ifa_rtrequest, which in turn calls the driver, where the driver lock
occures.

I suppose, that the radix head lock should not be held accross the
ifa_rtrequest call, but it is needed a few lines below. Unfortunately my
understanding of the routing code is limited, so I don't know whether this
could be rearranged.

harti
-- 
harti brandt,
http://www.fokus.fraunhofer.de/research/cc/cats/employees/hartmut.brandt/private
brandt at fokus.fraunhofer.de, harti at freebsd.org


More information about the freebsd-current mailing list