rtnl: fix error path when adding an iface with a link net
authorNicolas Dichtel <nicolas.dichtel@6wind.com>
Tue, 20 Jan 2015 14:15:42 +0000 (15:15 +0100)
committerDavid S. Miller <davem@davemloft.net>
Sat, 24 Jan 2015 01:51:14 +0000 (17:51 -0800)
If an error occurs when the netdevice is moved to the link netns, a full cleanup
must be done.

Fixes: 317f4810e45e ("rtnl: allow to create device with IFLA_LINK_NETNSID set")
Signed-off-by: Nicolas Dichtel <nicolas.dichtel@6wind.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/core/rtnetlink.c

index a12eecc0f97631df3888a3dd94ba73fd0632d15f..07447d1665e636d44460dbb6f12c4bbb3ab22cfd 100644 (file)
@@ -2172,8 +2172,11 @@ replay:
                        goto out;
                }
 
-               if (link_net)
+               if (link_net) {
                        err = dev_change_net_namespace(dev, dest_net, ifname);
+                       if (err < 0)
+                               unregister_netdevice(dev);
+               }
 out:
                if (link_net)
                        put_net(link_net);