Bug 89541
Summary: | bonding status file in /proc not removed when using bond-device as a slave | ||
---|---|---|---|
Product: | Drivers | Reporter: | Andy Gospodarek (andy) |
Component: | Network | Assignee: | drivers_network (drivers_network) |
Status: | NEW --- | ||
Severity: | normal | CC: | adobriyan, szg00000 |
Priority: | P1 | ||
Hardware: | All | ||
OS: | Linux | ||
Kernel Version: | 3.14.26 | Subsystem: | |
Regression: | No | Bisected commit-id: |
Description
Andy Gospodarek
2014-12-10 19:17:22 UTC
We should probably either prevent stacked bonds or fix the panic when they are stacked. reproduced Technically this happens because interface is not IFF_BONDING after bond2 is released from bond1. static int bond_netdev_event(struct notifier_block *this, unsigned long event, void *ptr) { struct net_device *event_dev = netdev_notifier_info_to_dev(ptr); netdev_dbg(event_dev, "event: %lx\n", event); if (!(event_dev->priv_flags & IFF_BONDING)) return NOTIFY_DONE; ... so NETDEV_UNREGISTER event is ignored and proc entry is not removed. static int __bond_release_one(struct net_device *bond_dev, struct net_device *slave_dev, bool all) { ... slave_dev->priv_flags &= ~IFF_BONDING; bond_free_slave(slave); return 0; } |