Subject: Re: oops / kernel panic in bonding.

From: Nicolas de Pesloüan<[email-masked]>
Date: Sun, 20 Mar 2011 22:19:21 +0100

Le 20/03/2011 21:17, Nicolas de Pesloüan a écrit :
> Hi Jiri,
>
> I suspect we have a race condition somewhere in the new
> bond_handle_frame function:
>
> The following commands produce one of the following errors:
>
> modprobe bonding max_bonds=0
> echo +bond0>/sys/class/net/bonding_masters
> echo +bond1>/sys/class/net/bonding_masters
> echo +eth1>/sys/class/net/bond1/bonding/slaves
>
> This is mostly reproducible, under VirtualBox.
>
> All tests done with 08351fc6a75731226e1112fc7254542bd3a2912e at the top
> commit (current net-next-2.6).

I suspect netdev_rx_handler_register is called too early in bond_enslave.

I think it should be the last thing we do in bond_enslave, if we don't want to face the risk to have 
bond_handle_frame being called before everything is properly setup.

	Nicolas.