Re: [lock validator] inet6_destroy_sock(): soft-safe -> soft-unsafe lock dependency

From: Ingo Molnar
Date: Thu Feb 02 2006 - 05:53:59 EST



hm, i got a new one:

============================================
[ BUG: circular locking deadlock detected! ]
--------------------------------------------
sshd/28997 is trying to acquire lock:
(&sk->sk_lock.slock){-+}, at: [<c0c6be28>] packet_rcv+0xbf/0x34b

but task is already holding lock:
(&dev->xmit_lock){-+}, at: [<c0bb04ec>] qdisc_restart+0x46/0x207

which lock already depends on the new lock,
which could lead to circular deadlocks!

the dependency chain (in reverse order) is:
-> #2 (&dev->xmit_lock){-+}: [<c0bb04ec>] qdisc_restart+0x46/0x207
-> #1 (&dev->queue_lock){-+}: [<c0b98137>] dev_queue_xmit+0xc3/0x21e
-> #0 (&sk->sk_lock.slock){-+}: [<c0c6be28>] packet_rcv+0xbf/0x34b

other info that might help us debug this:

1 locks held by sshd/28997:
#0: (&dev->xmit_lock){-+}, at: [<c0bb04ec>] qdisc_restart+0x46/0x207

stack backtrace:
[<c0103ecd>] show_trace+0xd/0xf
[<c0103ee4>] dump_stack+0x15/0x17
[<c014019e>] print_circular_bug_tail+0x42/0x4b
[<c0141716>] debug_lock_chain+0xb30/0xd58
[<c014196f>] debug_lock_chain_spin+0x31/0x48
[<c0415b8c>] _raw_spin_lock+0x34/0x7f
[<c0d3c12d>] _spin_lock+0x8/0xa
[<c0c6be28>] packet_rcv+0xbf/0x34b
[<c0b98052>] dev_queue_xmit_nit+0xbb/0xdd
[<c0bb05a5>] qdisc_restart+0xff/0x207
[<c0b9814e>] dev_queue_xmit+0xda/0x21e
[<c0bde286>] ip_output+0x237/0x2c1
[<c0bdd9a4>] ip_queue_xmit+0x394/0x417
[<c0beafb7>] tcp_transmit_skb+0x5d4/0x5f6
[<c0beca28>] __tcp_push_pending_frames+0x256/0x305
[<c0be43f1>] tcp_sendmsg+0x8ae/0x975
[<c0bfabd3>] inet_sendmsg+0x39/0x46
[<c0b8fd44>] do_sock_write+0xbd/0xc6
[<c0b8fe7b>] sock_aio_write+0x56/0x64
[<c016c922>] do_sync_write+0xb1/0xe6
[<c016cd71>] vfs_write+0xbd/0x155
[<c016d5db>] sys_write+0x3b/0x60
[<c0102c39>] syscall_call+0x7/0xb
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/