diff options
| -rw-r--r-- | net/core/dev.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/net/core/dev.c b/net/core/dev.c index 446424027d24..09c66a449da6 100644 --- a/net/core/dev.c +++ b/net/core/dev.c | |||
| @@ -5066,13 +5066,14 @@ static struct pernet_operations __net_initdata netdev_net_ops = { | |||
| 5066 | 5066 | ||
| 5067 | static void __net_exit default_device_exit(struct net *net) | 5067 | static void __net_exit default_device_exit(struct net *net) |
| 5068 | { | 5068 | { |
| 5069 | struct net_device *dev, *next; | 5069 | struct net_device *dev; |
| 5070 | /* | 5070 | /* |
| 5071 | * Push all migratable of the network devices back to the | 5071 | * Push all migratable of the network devices back to the |
| 5072 | * initial network namespace | 5072 | * initial network namespace |
| 5073 | */ | 5073 | */ |
| 5074 | rtnl_lock(); | 5074 | rtnl_lock(); |
| 5075 | for_each_netdev_safe(net, dev, next) { | 5075 | restart: |
| 5076 | for_each_netdev(net, dev) { | ||
| 5076 | int err; | 5077 | int err; |
| 5077 | char fb_name[IFNAMSIZ]; | 5078 | char fb_name[IFNAMSIZ]; |
| 5078 | 5079 | ||
| @@ -5083,7 +5084,7 @@ static void __net_exit default_device_exit(struct net *net) | |||
| 5083 | /* Delete virtual devices */ | 5084 | /* Delete virtual devices */ |
| 5084 | if (dev->rtnl_link_ops && dev->rtnl_link_ops->dellink) { | 5085 | if (dev->rtnl_link_ops && dev->rtnl_link_ops->dellink) { |
| 5085 | dev->rtnl_link_ops->dellink(dev); | 5086 | dev->rtnl_link_ops->dellink(dev); |
| 5086 | continue; | 5087 | goto restart; |
| 5087 | } | 5088 | } |
| 5088 | 5089 | ||
| 5089 | /* Push remaing network devices to init_net */ | 5090 | /* Push remaing network devices to init_net */ |
| @@ -5094,6 +5095,7 @@ static void __net_exit default_device_exit(struct net *net) | |||
| 5094 | __func__, dev->name, err); | 5095 | __func__, dev->name, err); |
| 5095 | BUG(); | 5096 | BUG(); |
| 5096 | } | 5097 | } |
| 5098 | goto restart; | ||
| 5097 | } | 5099 | } |
| 5098 | rtnl_unlock(); | 5100 | rtnl_unlock(); |
| 5099 | } | 5101 | } |
