Commit 87c320e5 authored by Rasmus Villemoes's avatar Rasmus Villemoes Committed by David S. Miller

net: core: dev_get_valid_name is now the same as dev_alloc_name_ns

If name contains a %, it's easy to see that this patch doesn't change
anything (other than eliminate the duplicate dev_valid_name
call). Otherwise, we'll now just spend a little time in snprintf()
copying name to the stack buffer allocated in dev_alloc_name_ns, and do
the __dev_get_by_name using that buffer rather than name.
Signed-off-by: default avatarRasmus Villemoes <linux@rasmusvillemoes.dk>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent d6f295e9
...@@ -1146,19 +1146,7 @@ EXPORT_SYMBOL(dev_alloc_name); ...@@ -1146,19 +1146,7 @@ EXPORT_SYMBOL(dev_alloc_name);
int dev_get_valid_name(struct net *net, struct net_device *dev, int dev_get_valid_name(struct net *net, struct net_device *dev,
const char *name) const char *name)
{ {
BUG_ON(!net);
if (!dev_valid_name(name))
return -EINVAL;
if (strchr(name, '%'))
return dev_alloc_name_ns(net, dev, name); return dev_alloc_name_ns(net, dev, name);
else if (__dev_get_by_name(net, name))
return -EEXIST;
else if (dev->name != name)
strlcpy(dev->name, name, IFNAMSIZ);
return 0;
} }
EXPORT_SYMBOL(dev_get_valid_name); EXPORT_SYMBOL(dev_get_valid_name);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment