On Tue, Dec 11, 2007 at 10:06:14PM +0000, Andrew Morton wrote:
>
> > events/0/9 just changed the state of lock:
> >  (&mc->mca_lock){-+..}, at: [<c0412602>] mld_ifc_timer_expire+0x130/0x1fb
> > but this lock took another, soft-read-irq-unsafe lock in the past:
> >  (&bond->lock){-.--}
> > 
> > and interrupts could create inverse lock ordering between them.

Yes this is a bug in the bonding driver.

It's assuming that bond->lock is only ever held for writing in
process context.  Unfortunately our current set_multicast_list
interface violates this constraint.

Now I do have a TODO item to fix set_multicast_list to not do
that, but until that happens, bond->lock should always turn BH
off, even on read lock.

Cheers,
-- 
Visit Openswan at http://www.openswan.org/
Email: Herbert Xu ~{PmV>HI~} <[EMAIL PROTECTED]>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to