bonding: Manage /proc/net/bonding/ entries from the netdev events
It was recently reported that moving a bonding device between network namespaces causes warnings from /proc. It turns out after the move we were trying to add and to remove the /proc/net/bonding entries from the wrong network namespace. Move the bonding /proc registration code into the NETDEV_REGISTER and NETDEV_UNREGISTER events where the proc registration and unregistration will always happen at the right time. Signed-off-by: "Eric W. Biederman" <ebiederm@xmission.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
684901a6df
commit
a64d49c3dd
|
@ -3227,6 +3227,12 @@ static int bond_master_netdev_event(unsigned long event,
|
||||||
switch (event) {
|
switch (event) {
|
||||||
case NETDEV_CHANGENAME:
|
case NETDEV_CHANGENAME:
|
||||||
return bond_event_changename(event_bond);
|
return bond_event_changename(event_bond);
|
||||||
|
case NETDEV_UNREGISTER:
|
||||||
|
bond_remove_proc_entry(event_bond);
|
||||||
|
break;
|
||||||
|
case NETDEV_REGISTER:
|
||||||
|
bond_create_proc_entry(event_bond);
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -4411,8 +4417,6 @@ static void bond_uninit(struct net_device *bond_dev)
|
||||||
|
|
||||||
bond_work_cancel_all(bond);
|
bond_work_cancel_all(bond);
|
||||||
|
|
||||||
bond_remove_proc_entry(bond);
|
|
||||||
|
|
||||||
bond_debug_unregister(bond);
|
bond_debug_unregister(bond);
|
||||||
|
|
||||||
__hw_addr_flush(&bond->mc_list);
|
__hw_addr_flush(&bond->mc_list);
|
||||||
|
@ -4814,7 +4818,6 @@ static int bond_init(struct net_device *bond_dev)
|
||||||
|
|
||||||
bond_set_lockdep_class(bond_dev);
|
bond_set_lockdep_class(bond_dev);
|
||||||
|
|
||||||
bond_create_proc_entry(bond);
|
|
||||||
list_add_tail(&bond->bond_list, &bn->dev_list);
|
list_add_tail(&bond->bond_list, &bn->dev_list);
|
||||||
|
|
||||||
bond_prepare_sysfs_group(bond);
|
bond_prepare_sysfs_group(bond);
|
||||||
|
|
Loading…
Reference in New Issue