Commit 09c89279 authored by Jay Vosburgh's avatar Jay Vosburgh Committed by Jeff Garzik

bonding: fix error check in sysfs creation

	The existing code did not correctly handle failures to create
the per-interface sysfs group for bonding.

	Modified code to notice errors, and correctly unwind.
Signed-off-by: default avatarJay Vosburgh <fubar@us.ibm.com>
Signed-off-by: default avatarJeff Garzik <jeff@garzik.org>
parent e4b91c48
...@@ -4756,14 +4756,19 @@ int bond_create(char *name, struct bond_params *params, struct bonding **newbond ...@@ -4756,14 +4756,19 @@ int bond_create(char *name, struct bond_params *params, struct bonding **newbond
rtnl_unlock(); /* allows sysfs registration of net device */ rtnl_unlock(); /* allows sysfs registration of net device */
res = bond_create_sysfs_entry(bond_dev->priv); res = bond_create_sysfs_entry(bond_dev->priv);
goto done; if (res < 0) {
rtnl_lock();
goto out_bond;
}
return 0;
out_bond: out_bond:
bond_deinit(bond_dev); bond_deinit(bond_dev);
out_netdev: out_netdev:
free_netdev(bond_dev); free_netdev(bond_dev);
out_rtnl: out_rtnl:
rtnl_unlock(); rtnl_unlock();
done:
return res; return res;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment