|
@@ -4480,17 +4480,19 @@ static void __net_exit default_device_exit(struct net *net)
|
|
|
rtnl_lock();
|
|
|
for_each_netdev_safe(net, dev, next) {
|
|
|
int err;
|
|
|
+ char fb_name[IFNAMSIZ];
|
|
|
|
|
|
/* Ignore unmoveable devices (i.e. loopback) */
|
|
|
if (dev->features & NETIF_F_NETNS_LOCAL)
|
|
|
continue;
|
|
|
|
|
|
/* Push remaing network devices to init_net */
|
|
|
- err = dev_change_net_namespace(dev, &init_net, "dev%d");
|
|
|
+ snprintf(fb_name, IFNAMSIZ, "dev%d", dev->ifindex);
|
|
|
+ err = dev_change_net_namespace(dev, &init_net, fb_name);
|
|
|
if (err) {
|
|
|
- printk(KERN_WARNING "%s: failed to move %s to init_net: %d\n",
|
|
|
+ printk(KERN_EMERG "%s: failed to move %s to init_net: %d\n",
|
|
|
__func__, dev->name, err);
|
|
|
- unregister_netdevice(dev);
|
|
|
+ BUG();
|
|
|
}
|
|
|
}
|
|
|
rtnl_unlock();
|