summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Stevens <dlstevens@us.ibm.com>2007-02-26 16:28:56 -0800
committerGreg Kroah-Hartman <gregkh@suse.de>2007-08-09 14:27:46 -0700
commit05b1ed7990f79388573430faf4f28c31eeaf377b (patch)
tree1b7941689c7301064fd8d32d32e5d52f6d132913
parent6b870a3938061b49a19b2e76ae1ddec967e6fb0f (diff)
downloadlwn-05b1ed7990f79388573430faf4f28c31eeaf377b.tar.gz
lwn-05b1ed7990f79388573430faf4f28c31eeaf377b.zip
IPV6: /proc/net/anycast6 unbalanced inet6_dev refcnt
Reading /proc/net/anycast6 when there is no anycast address on an interface results in an ever-increasing inet6_dev reference count, as well as a reference to the netdevice you can't get rid of. Signed-off-by: David S. Miller <davem@davemloft.net> Cc: Marcus Meissner <meissner@suse.de> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-rw-r--r--net/ipv6/anycast.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/net/ipv6/anycast.c b/net/ipv6/anycast.c
index 9b81264eb78f..2f49578e52a1 100644
--- a/net/ipv6/anycast.c
+++ b/net/ipv6/anycast.c
@@ -66,6 +66,7 @@ ip6_onlink(struct in6_addr *addr, struct net_device *dev)
break;
}
read_unlock_bh(&idev->lock);
+ in6_dev_put(idev);
}
rcu_read_unlock();
return onlink;