OSDN Git Service

net: core: eliminate dev_alloc_name{,_ns} code duplication
authorRasmus Villemoes <linux@rasmusvillemoes.dk>
Sun, 12 Nov 2017 23:15:06 +0000 (00:15 +0100)
committerDavid S. Miller <davem@davemloft.net>
Tue, 14 Nov 2017 07:38:46 +0000 (16:38 +0900)
dev_alloc_name contained a BUG_ON(), which I moved to dev_alloc_name_ns;
the only other caller of that already has the same BUG_ON.

Signed-off-by: Rasmus Villemoes <linux@rasmusvillemoes.dk>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/core/dev.c

index 4545685..7580c20 100644 (file)
@@ -1114,6 +1114,7 @@ static int dev_alloc_name_ns(struct net *net,
        char buf[IFNAMSIZ];
        int ret;
 
+       BUG_ON(!net);
        ret = __dev_alloc_name(net, name, buf);
        if (ret >= 0)
                strlcpy(dev->name, buf, IFNAMSIZ);
@@ -1136,16 +1137,7 @@ static int dev_alloc_name_ns(struct net *net,
 
 int dev_alloc_name(struct net_device *dev, const char *name)
 {
-       char buf[IFNAMSIZ];
-       struct net *net;
-       int ret;
-
-       BUG_ON(!dev_net(dev));
-       net = dev_net(dev);
-       ret = __dev_alloc_name(net, name, buf);
-       if (ret >= 0)
-               strlcpy(dev->name, buf, IFNAMSIZ);
-       return ret;
+       return dev_alloc_name_ns(dev_net(dev), dev, name);
 }
 EXPORT_SYMBOL(dev_alloc_name);