aboutsummaryrefslogtreecommitdiffstats
path: root/net/ipv6/addrconf.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/ipv6/addrconf.c')
-rw-r--r--net/ipv6/addrconf.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c
index 9c2e94f1c637..b43574f73375 100644
--- a/net/ipv6/addrconf.c
+++ b/net/ipv6/addrconf.c
@@ -2410,7 +2410,7 @@ static int addrconf_ifdown(struct net_device *dev, int how)
2410 2410
2411 ASSERT_RTNL(); 2411 ASSERT_RTNL();
2412 2412
2413 if (dev == &loopback_dev && how == 1) 2413 if (dev == loopback_dev && how == 1)
2414 how = 0; 2414 how = 0;
2415 2415
2416 rt6_ifdown(dev); 2416 rt6_ifdown(dev);
@@ -4212,16 +4212,19 @@ int __init addrconf_init(void)
4212 * device and it being up should be removed. 4212 * device and it being up should be removed.
4213 */ 4213 */
4214 rtnl_lock(); 4214 rtnl_lock();
4215 if (!ipv6_add_dev(&loopback_dev)) 4215 if (!ipv6_add_dev(loopback_dev))
4216 err = -ENOMEM; 4216 err = -ENOMEM;
4217 rtnl_unlock(); 4217 rtnl_unlock();
4218 if (err) 4218 if (err)
4219 return err; 4219 return err;
4220 4220
4221 ip6_null_entry.rt6i_idev = in6_dev_get(&loopback_dev); 4221 ip6_null_entry.u.dst.dev = loopback_dev;
4222 ip6_null_entry.rt6i_idev = in6_dev_get(loopback_dev);
4222#ifdef CONFIG_IPV6_MULTIPLE_TABLES 4223#ifdef CONFIG_IPV6_MULTIPLE_TABLES
4223 ip6_prohibit_entry.rt6i_idev = in6_dev_get(&loopback_dev); 4224 ip6_prohibit_entry.u.dst.dev = loopback_dev;
4224 ip6_blk_hole_entry.rt6i_idev = in6_dev_get(&loopback_dev); 4225 ip6_prohibit_entry.rt6i_idev = in6_dev_get(loopback_dev);
4226 ip6_blk_hole_entry.u.dst.dev = loopback_dev;
4227 ip6_blk_hole_entry.rt6i_idev = in6_dev_get(loopback_dev);
4225#endif 4228#endif
4226 4229
4227 register_netdevice_notifier(&ipv6_dev_notf); 4230 register_netdevice_notifier(&ipv6_dev_notf);
@@ -4276,7 +4279,7 @@ void __exit addrconf_cleanup(void)
4276 continue; 4279 continue;
4277 addrconf_ifdown(dev, 1); 4280 addrconf_ifdown(dev, 1);
4278 } 4281 }
4279 addrconf_ifdown(&loopback_dev, 2); 4282 addrconf_ifdown(loopback_dev, 2);
4280 4283
4281 /* 4284 /*
4282 * Check hash table. 4285 * Check hash table.