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: Rasmus Villemoes <linux@rasmusvillemoes.dk> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
d6f295e9de
commit
87c320e515
|
@ -1146,19 +1146,7 @@ EXPORT_SYMBOL(dev_alloc_name);
|
|||
int dev_get_valid_name(struct net *net, struct net_device *dev,
|
||||
const char *name)
|
||||
{
|
||||
BUG_ON(!net);
|
||||
|
||||
if (!dev_valid_name(name))
|
||||
return -EINVAL;
|
||||
|
||||
if (strchr(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;
|
||||
return dev_alloc_name_ns(net, dev, name);
|
||||
}
|
||||
EXPORT_SYMBOL(dev_get_valid_name);
|
||||
|
||||
|
|
Loading…
Reference in New Issue