]> err.no Git - linux-2.6/commit
[BOND]: Fix bond_init() error path handling.
authorFlorin Malita <fmalita@gmail.com>
Sun, 18 Sep 2005 07:24:12 +0000 (00:24 -0700)
committerDavid S. Miller <davem@davemloft.net>
Sun, 18 Sep 2005 07:24:12 +0000 (00:24 -0700)
commit40abc27066c49b2c13c817154d438431b0303b96
tree0e5b000311e1729892c4595c0dbe106b987d577e
parent88f964db6ef728982734356bf4c406270ea29c1d
[BOND]: Fix bond_init() error path handling.

From: Florin Malita <fmalita@gmail.com>

bond_init() is not releasing rtnl_sem after register_netdevice() and before
calling unregister_netdevice() (from bond_free_all()) in the exception
path.  As the device registration is not completed (dev->reg_state ==
NETREG_REGISTERING), the call to unregister_netdevice() triggers
BUG_ON(dev->reg_state != NETREG_REGISTERED).

Signed-off-by: Florin Malita <fmalita@gmail.com>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/bonding/bond_main.c