Thread (4 messages) 4 messages, 3 authors, 2006-11-01

Re: [PATCH] 2.6.19-rc4 - netlink messages created with bad flags in soft_irq context

From: Herbert Xu <herbert@gondor.apana.org.au>
Date: 2006-11-01 03:51:15
Also in: lkml

Andy Gospodarek [off-list ref] wrote:
I've got a kernel built where 

CONFIG_DEBUG_SPINLOCK_SLEEP=y

is in the config and I've noticed some interesting behavior when
bringing up bonds in balance-alb mode.  When I start to enslave devices
to a bond I get the following in the ring buffer:

BUG: sleeping function called from invalid context at mm/slab.c:3007
in_atomic():1, irqs_disabled():0

along with a nice backtrace of the error that pointed to the cause of
this message.  The bonding code was calling for the device to set its
MAC address and the netlink message that would be send as a result of
this notification was being created with the flag GFP_KERNEL instead of
GFP_ATOMIC.  
The bonding driver is known to be broken in places where it tries to
call into the network stack in atomic contexts where it shouldn't.

So please verify whether this is the case here before changing netlink.

Thanks,
-- 
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