|
@@ -1002,15 +1002,10 @@ int dev_change_name(struct net_device *dev, const char *newname)
|
|
|
return err;
|
|
|
|
|
|
rollback:
|
|
|
- /* For now only devices in the initial network namespace
|
|
|
- * are in sysfs.
|
|
|
- */
|
|
|
- if (net_eq(net, &init_net)) {
|
|
|
- ret = device_rename(&dev->dev, dev->name);
|
|
|
- if (ret) {
|
|
|
- memcpy(dev->name, oldname, IFNAMSIZ);
|
|
|
- return ret;
|
|
|
- }
|
|
|
+ ret = device_rename(&dev->dev, dev->name);
|
|
|
+ if (ret) {
|
|
|
+ memcpy(dev->name, oldname, IFNAMSIZ);
|
|
|
+ return ret;
|
|
|
}
|
|
|
|
|
|
write_lock_bh(&dev_base_lock);
|
|
@@ -4994,8 +4989,6 @@ int register_netdevice(struct net_device *dev)
|
|
|
if (dev->features & NETIF_F_SG)
|
|
|
dev->features |= NETIF_F_GSO;
|
|
|
|
|
|
- netdev_initialize_kobject(dev);
|
|
|
-
|
|
|
ret = call_netdevice_notifiers(NETDEV_POST_INIT, dev);
|
|
|
ret = notifier_to_errno(ret);
|
|
|
if (ret)
|
|
@@ -5547,15 +5540,6 @@ int dev_change_net_namespace(struct net_device *dev, struct net *net, const char
|
|
|
if (dev->features & NETIF_F_NETNS_LOCAL)
|
|
|
goto out;
|
|
|
|
|
|
-#ifdef CONFIG_SYSFS
|
|
|
- /* Don't allow real devices to be moved when sysfs
|
|
|
- * is enabled.
|
|
|
- */
|
|
|
- err = -EINVAL;
|
|
|
- if (dev->dev.parent)
|
|
|
- goto out;
|
|
|
-#endif
|
|
|
-
|
|
|
/* Ensure the device has been registrered */
|
|
|
err = -EINVAL;
|
|
|
if (dev->reg_state != NETREG_REGISTERED)
|
|
@@ -5606,8 +5590,6 @@ int dev_change_net_namespace(struct net_device *dev, struct net *net, const char
|
|
|
dev_uc_flush(dev);
|
|
|
dev_mc_flush(dev);
|
|
|
|
|
|
- netdev_unregister_kobject(dev);
|
|
|
-
|
|
|
/* Actually switch the network namespace */
|
|
|
dev_net_set(dev, net);
|
|
|
|
|
@@ -5620,7 +5602,7 @@ int dev_change_net_namespace(struct net_device *dev, struct net *net, const char
|
|
|
}
|
|
|
|
|
|
/* Fixup kobjects */
|
|
|
- err = netdev_register_kobject(dev);
|
|
|
+ err = device_rename(&dev->dev, dev->name);
|
|
|
WARN_ON(err);
|
|
|
|
|
|
/* Add the device back in the hashes */
|