Revert "net: core: dev_get_valid_name is now the same as dev_alloc_name_ns"
This reverts commit87c320e515
. Changing the error return code in some situations turns out to be harmful in practice. In particular Michael Ellerman reports that DHCP fails on his powerpc machines, and this revert gets things working again. Johannes Berg agrees that this revert is the best course of action for now. Fixes:029b6d1405
("Revert "net: core: maybe return -EEXIST in __dev_alloc_name"") Reported-by: Michael Ellerman <mpe@ellerman.id.au> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
2758b3e3e6
commit
55a5ec9b77
1 changed files with 13 additions and 1 deletions
|
@ -1146,7 +1146,19 @@ EXPORT_SYMBOL(dev_alloc_name);
|
|||
int dev_get_valid_name(struct net *net, struct net_device *dev,
|
||||
const char *name)
|
||||
{
|
||||
return dev_alloc_name_ns(net, dev, 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;
|
||||
}
|
||||
EXPORT_SYMBOL(dev_get_valid_name);
|
||||
|
||||
|
|
Loading…
Reference in a new issue