diff options
Diffstat (limited to 'net/core/dev.c')
-rw-r--r-- | net/core/dev.c | 24 |
1 files changed, 6 insertions, 18 deletions
diff --git a/net/core/dev.c b/net/core/dev.c index e95dc30110eb..3b79bad3d02d 100644 --- a/net/core/dev.c +++ b/net/core/dev.c | |||
@@ -948,7 +948,7 @@ int dev_alloc_name(struct net_device *dev, const char *name) | |||
948 | } | 948 | } |
949 | EXPORT_SYMBOL(dev_alloc_name); | 949 | EXPORT_SYMBOL(dev_alloc_name); |
950 | 950 | ||
951 | static int dev_get_valid_name(struct net_device *dev, const char *name, bool fmt) | 951 | static int dev_get_valid_name(struct net_device *dev, const char *name) |
952 | { | 952 | { |
953 | struct net *net; | 953 | struct net *net; |
954 | 954 | ||
@@ -958,7 +958,7 @@ static int dev_get_valid_name(struct net_device *dev, const char *name, bool fmt | |||
958 | if (!dev_valid_name(name)) | 958 | if (!dev_valid_name(name)) |
959 | return -EINVAL; | 959 | return -EINVAL; |
960 | 960 | ||
961 | if (fmt && strchr(name, '%')) | 961 | if (strchr(name, '%')) |
962 | return dev_alloc_name(dev, name); | 962 | return dev_alloc_name(dev, name); |
963 | else if (__dev_get_by_name(net, name)) | 963 | else if (__dev_get_by_name(net, name)) |
964 | return -EEXIST; | 964 | return -EEXIST; |
@@ -995,7 +995,7 @@ int dev_change_name(struct net_device *dev, const char *newname) | |||
995 | 995 | ||
996 | memcpy(oldname, dev->name, IFNAMSIZ); | 996 | memcpy(oldname, dev->name, IFNAMSIZ); |
997 | 997 | ||
998 | err = dev_get_valid_name(dev, newname, 1); | 998 | err = dev_get_valid_name(dev, newname); |
999 | if (err < 0) | 999 | if (err < 0) |
1000 | return err; | 1000 | return err; |
1001 | 1001 | ||
@@ -5420,8 +5420,8 @@ int register_netdevice(struct net_device *dev) | |||
5420 | } | 5420 | } |
5421 | } | 5421 | } |
5422 | 5422 | ||
5423 | ret = dev_get_valid_name(dev, dev->name, 0); | 5423 | ret = dev_get_valid_name(dev, dev->name); |
5424 | if (ret) | 5424 | if (ret < 0) |
5425 | goto err_uninit; | 5425 | goto err_uninit; |
5426 | 5426 | ||
5427 | dev->ifindex = dev_new_index(net); | 5427 | dev->ifindex = dev_new_index(net); |
@@ -5562,19 +5562,7 @@ int register_netdev(struct net_device *dev) | |||
5562 | int err; | 5562 | int err; |
5563 | 5563 | ||
5564 | rtnl_lock(); | 5564 | rtnl_lock(); |
5565 | |||
5566 | /* | ||
5567 | * If the name is a format string the caller wants us to do a | ||
5568 | * name allocation. | ||
5569 | */ | ||
5570 | if (strchr(dev->name, '%')) { | ||
5571 | err = dev_alloc_name(dev, dev->name); | ||
5572 | if (err < 0) | ||
5573 | goto out; | ||
5574 | } | ||
5575 | |||
5576 | err = register_netdevice(dev); | 5565 | err = register_netdevice(dev); |
5577 | out: | ||
5578 | rtnl_unlock(); | 5566 | rtnl_unlock(); |
5579 | return err; | 5567 | return err; |
5580 | } | 5568 | } |
@@ -6056,7 +6044,7 @@ int dev_change_net_namespace(struct net_device *dev, struct net *net, const char | |||
6056 | /* We get here if we can't use the current device name */ | 6044 | /* We get here if we can't use the current device name */ |
6057 | if (!pat) | 6045 | if (!pat) |
6058 | goto out; | 6046 | goto out; |
6059 | if (dev_get_valid_name(dev, pat, 1)) | 6047 | if (dev_get_valid_name(dev, pat) < 0) |
6060 | goto out; | 6048 | goto out; |
6061 | } | 6049 | } |
6062 | 6050 | ||