From 6bfa71408836fccce9f5146486f01f9042efdce2 Mon Sep 17 00:00:00 2001 From: Pavel Emelyanov Date: Thu, 8 May 2008 01:24:25 -0700 Subject: [PATCH] --- yaml --- r: 96198 b: refs/heads/master c: aca51397d01474f80cab8fc978559b45f2e453ad h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/net/core/dev.c | 8 +++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/[refs] b/[refs] index 3c00891c2880..95a58437ac03 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: f3261aff35cbc811fee0e23eaea277f1b7286eca +refs/heads/master: aca51397d01474f80cab8fc978559b45f2e453ad diff --git a/trunk/net/core/dev.c b/trunk/net/core/dev.c index d334446a8eaf..4addaf0df96e 100644 --- a/trunk/net/core/dev.c +++ b/trunk/net/core/dev.c @@ -4480,17 +4480,19 @@ static void __net_exit default_device_exit(struct net *net) rtnl_lock(); for_each_netdev_safe(net, dev, next) { int err; + char fb_name[IFNAMSIZ]; /* Ignore unmoveable devices (i.e. loopback) */ if (dev->features & NETIF_F_NETNS_LOCAL) continue; /* Push remaing network devices to init_net */ - err = dev_change_net_namespace(dev, &init_net, "dev%d"); + snprintf(fb_name, IFNAMSIZ, "dev%d", dev->ifindex); + err = dev_change_net_namespace(dev, &init_net, fb_name); if (err) { - printk(KERN_WARNING "%s: failed to move %s to init_net: %d\n", + printk(KERN_EMERG "%s: failed to move %s to init_net: %d\n", __func__, dev->name, err); - unregister_netdevice(dev); + BUG(); } } rtnl_unlock();