diff --git a/[refs] b/[refs] index 3dc895d24f5e..bec0083315f9 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: ec87fd3b4e111e8bc367d247a963e27e5b86df26 +refs/heads/master: 6639104bd826e0b1388c69a6b7564fffc636c8a8 diff --git a/trunk/drivers/net/bonding/bond_main.c b/trunk/drivers/net/bonding/bond_main.c index 208d2c4ef068..ecea6c294132 100644 --- a/trunk/drivers/net/bonding/bond_main.c +++ b/trunk/drivers/net/bonding/bond_main.c @@ -5056,6 +5056,7 @@ static int bond_validate(struct nlattr *tb[], struct nlattr *data[]) static struct rtnl_link_ops bond_link_ops __read_mostly = { .kind = "bond", + .priv_size = sizeof(struct bonding), .setup = bond_setup, .validate = bond_validate, }; @@ -5157,7 +5158,7 @@ static int __init bonding_init(void) res = rtnl_link_register(&bond_link_ops); if (res) - goto err; + goto err_link; for (i = 0; i < max_bonds; i++) { res = bond_create(&init_net, NULL); @@ -5176,6 +5177,7 @@ static int __init bonding_init(void) return res; err: rtnl_link_unregister(&bond_link_ops); +err_link: unregister_pernet_gen_subsys(bond_net_id, &bond_net_ops); goto out;