Gitweb:     
http://git.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=2c12a74cc4aeaebc378aa40ee11c7761a8ed05e0
Commit:     2c12a74cc4aeaebc378aa40ee11c7761a8ed05e0
Parent:     3a765aa528401c7aec2208f7ed1276b232b24c57
Author:     Michal Wrobel <[EMAIL PROTECTED]>
AuthorDate: Mon Feb 26 15:36:10 2007 -0800
Committer:  David S. Miller <[EMAIL PROTECTED]>
CommitDate: Wed Feb 28 09:41:58 2007 -0800

    [IPV6]: anycast refcnt fix
    
    This patch fixes a bug in Linux IPv6 stack which caused anycast address
    to be added to a device prior DAD has been completed. This led to
    incorrect reference count which resulted in infinite wait for
    unregister_netdevice completion on interface removal.
    
    Signed-off-by: Michal Wrobel <[EMAIL PROTECTED]>
    Signed-off-by: David S. Miller <[EMAIL PROTECTED]>
---
 net/ipv6/addrconf.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c
index f6ac65d..e16f1bb 100644
--- a/net/ipv6/addrconf.c
+++ b/net/ipv6/addrconf.c
@@ -400,6 +400,8 @@ static void dev_forward_change(struct inet6_dev *idev)
                        ipv6_dev_mc_dec(dev, &addr);
        }
        for (ifa=idev->addr_list; ifa; ifa=ifa->if_next) {
+               if (ifa->flags&IFA_F_TENTATIVE)
+                       continue;
                if (idev->cnf.forwarding)
                        addrconf_join_anycast(ifa);
                else
-
To unsubscribe from this list: send the line "unsubscribe git-commits-head" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to