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

From: Herbert Xu
Date: Tue Oct 31 2006 - 22:54:28 EST


Andy Gospodarek <andy@xxxxxxxxxxxxx> 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~} <herbert@xxxxxxxxxxxxxxxxxxx>
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 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/