kldunload if_sk -> LOR & panic

Brian Fundakowski Feldman green at freebsd.org
Sun Jul 18 12:35:20 PDT 2004


On Sun, Jul 18, 2004 at 03:11:22PM +0000, Bjoern A. Zeeb wrote:
> Hi,
> 
> tried to unload if_sk for testing the newly built module with dwhite's
> locking patch (will be loaded after reset now :( ).
> resulted in this on my amd64:
> 
> --- cut ---
> noc# kldunload if_sk
> e1000phy0: detached
> miibus0: detached
> lock order reversal
>  1st 0xffffff0030ac7870 skc0 (network driver) @ sys/pci/if_sk.c:2604
>  2nd 0xffffff0000b91af0 radix node head (radix node head) @ sys/netinet/in_rmx.c:391
> Stack backtrace:
> witness_checkorder() at witness_checkorder+0x4a6
> _mtx_lock_flags() at _mtx_lock_flags+0x39
> in_ifadown() at in_ifadown+0x5b
> in_control() at in_control+0x81c
> if_detach() at if_detach+0x50b
> ether_ifdetach() at ether_ifdetach+0x25
> sk_detach() at sk_detach+0x6d
> (null)() at 0
> null_method() at null_method

At the point where it's actually detaching, once it's detached the methods
that access its softc, it should drop its softc lock before calling the
network-level detach routines.

-- 
Brian Fundakowski Feldman                           \'[ FreeBSD ]''''''''''\
  <> green at FreeBSD.org                               \  The Power to Serve! \
 Opinions expressed are my own.                       \,,,,,,,,,,,,,,,,,,,,,,\


More information about the freebsd-amd64 mailing list