diff options
author | WANG Cong <xiyou.wangcong@gmail.com> | 2014-09-11 15:07:16 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2014-09-13 16:39:40 -0400 |
commit | 3ce62a84d53cd3d3cc5377bbf339e9b08ddf9c36 (patch) | |
tree | 08d86a30254963f1f8bfea4bc26d75022f65daa5 /net/ipv6/addrconf.c | |
parent | 4361eb664de09a9f60955c7f5e9355f7ed46a08d (diff) | |
download | blackbird-op-linux-3ce62a84d53cd3d3cc5377bbf339e9b08ddf9c36.tar.gz blackbird-op-linux-3ce62a84d53cd3d3cc5377bbf339e9b08ddf9c36.zip |
ipv6: exit early in addrconf_notify() if IPv6 is disabled
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>
Diffstat (limited to 'net/ipv6/addrconf.c')
-rw-r--r-- | net/ipv6/addrconf.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c index 6b6a373a30b2..39d33355d7e8 100644 --- a/net/ipv6/addrconf.c +++ b/net/ipv6/addrconf.c @@ -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. */ |