Thread (6 messages) flat view 6 messages, 5 authors, 2006-07-10

Re: auro deadlock (was Re: e100 lockdep irq lock inversion.)

From: Herbert Xu <herbert@gondor.apana.org.au>
Date: 2006-07-08 03:07:17
Also in: lkml

Arjan van de Ven [off-list ref] wrote:
Act 1

Enter the mpi_start_xmit() function, which is airo's xmit function.
This function takes the aux_lock first, with irq's off, then calls
skb_queue_tail(). skb_queue_tail takes the sk_receive_queue.lock (with
irqsave as well).
Nope, make that ai->txq.
Act 2

Enter the ipcalc program. This program calls an ioctl, which ends up
calling udp_ioctl. udp_ioctl does
  spin_lock_bh(&sk->sk_receive_queue.lock);
Different queue.

So no deadlock.  Better luck next time :)
-- 
Visit Openswan at http://www.openswan.org/
Email: Herbert Xu ~{PmV>HI~} [off-list ref]
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help