ipv6: exit early in addrconf_notify() if IPv6 is disabled
authorWANG Cong <xiyou.wangcong@gmail.com>
Thu, 11 Sep 2014 22:07:16 +0000 (15:07 -0700)
committerDavid S. Miller <davem@davemloft.net>
Sat, 13 Sep 2014 20:39:40 +0000 (16:39 -0400)
If IPv6 is explicitly disabled before the interface comes up,
it makes no sense to continue when it comes up, even just
print a message.

(I am not sure about other cases though, so I prefer not to touch)

Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com>
Acked-by: Hannes Frederic Sowa <hannes@stressinduktion.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv6/addrconf.c

index 6b6a373..39d3335 100644 (file)
@@ -2844,6 +2844,9 @@ static int addrconf_notify(struct notifier_block *this, unsigned long event,
                if (dev->flags & IFF_SLAVE)
                        break;
 
+               if (idev && idev->cnf.disable_ipv6)
+                       break;
+
                if (event == NETDEV_UP) {
                        if (!addrconf_qdisc_ok(dev)) {
                                /* device is not ready yet. */