]> git.hungrycats.org Git - linux/commitdiff
bonding: fix device leak on error in bond_create()
authorPatrick McHardy <kaber@trash.net>
Sat, 27 Feb 2010 10:52:05 +0000 (02:52 -0800)
committerGreg Kroah-Hartman <gregkh@suse.de>
Thu, 1 Apr 2010 23:02:05 +0000 (16:02 -0700)
[ Upstream commit 8d6184e4881b423522136aeb3ec1cbd9c35e8813 ]

When the register_netdevice() call fails, the newly allocated device is
not freed.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/net/bonding/bond_main.c

index efa0e41bf3ec2e141dbf36f72187db8aa41975b9..1f800aeac244e75a6f8347908f74c3f43f653698 100644 (file)
@@ -4935,6 +4935,8 @@ int bond_create(struct net *net, const char *name)
        }
 
        res = register_netdevice(bond_dev);
+       if (res < 0)
+               goto out_netdev;
 
 out:
        rtnl_unlock();