Re: LOR with netisr changes

From: Robert Watson <rwatson_at_FreeBSD.org>
Date: Tue, 28 Nov 2006 18:09:27 +0000 (GMT)
On Wed, 29 Nov 2006, Munehiro Matsuda wrote:

> JFYI, I got following LOR started after the netisr changes:

In general, device driver locks should not be held over entry to the network 
stack.  However, things get a bit tricky in the 802.11 code due to lock 
sharing, I believe, so it could be a bit more tricky to fix that.

Robert N M Watson
Computer Laboratory
University of Cambridge

>
> lock order reversal:
> 1st 0xc366db54 iwi0 (network driver) _at_ /home/haro/tmp/sys-7/modules/iwi/../../dev/iwi/if_iwi.c:1649
> 2nd 0xc07eec48 in_multi_mtx (in_multi_mtx) _at_ netinet/ip_input.c:562
> KDB: stack backtrace:
> db_trace_self_wrapper(c071660b) at db_trace_self_wrapper+0x25
> kdb_backtrace(0,ffffffff,c07af450,c07b09b8,c07610c4,...) at kdb_backtrace+0x29
> witness_checkorder(c07eec48,9,c07237b8,232) at witness_checkorder+0x586
> _mtx_lock_flags(c07eec48,0,c07237af,232,c0789ce0,...) at _mtx_lock_flags+0x84
> ip_input(c3691e00) at ip_input+0x40a
> netisr_dispatch(2,c3691e00,0,c367c400,c36d0800,...) at netisr_dispatch+0x58
> ether_demux(c367c400,c3691e00,c3691e00,c367c400,db31ec1c,...) at ether_demux+0x28a
> ether_input(c367c400,c3691e00) at ether_input+0x202
> ieee80211_deliver_data(c366d004,c37fbc00,c3691e00,c0535785,c366d6b0,...) at ieee80211_deliver_data+0x129
> ieee80211_input(c366d004,c3691e00,c37fbc00,4f,0,...) at ieee80211_input+0x83e
> iwi_intr(c366d000) at iwi_intr+0x4cc
> ithread_execute_handlers(c35c3af0,c35aa180) at ithread_execute_handlers+0x122
> ithread_loop(c3650b30,db31ed38) at ithread_loop+0x67
> fork_exit(c0529a18,c3650b30,db31ed38) at fork_exit+0xac
> fork_trampoline() at fork_trampoline+0x8
> --- trap 0x1, eip = 0, esp = 0xdb31ed6c, ebp = 0 ---
>
> =------------------------------------------------------------------------------
>           _ _    Munehiro (haro) Matsuda
> -|- /_\  |_|_|   Internet Solution Dept., KGT Inc.
> /|\ |_|  |_|_|   2-8-8 Shinjuku Shinjuku-ku Tokyo 160-0022, Japan
>                  Tel: +81-3-3225-0767  Fax: +81-3-3225-0740
> _______________________________________________
> freebsd-current_at_freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-current
> To unsubscribe, send any mail to "freebsd-current-unsubscribe_at_freebsd.org"
>
Received on Tue Nov 28 2006 - 17:12:28 UTC

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