aboutsummaryrefslogtreecommitdiffstats
path: root/net/ipv6
diff options
context:
space:
mode:
authorWANG Cong <xiyou.wangcong@gmail.com>2014-09-05 17:33:00 -0400
committerDavid S. Miller <davem@davemloft.net>2014-09-07 19:10:07 -0400
commitde185ab46cb02df9738b0d898b0c3a89181c5526 (patch)
treebe9fe4618a8948d3bbb719b8cf02c66e79dcf862 /net/ipv6
parentbc55dc63b2710ded4aba875c367f024d73660020 (diff)
ipv6: restore the behavior of ipv6_sock_ac_drop()
It is possible that the interface is already gone after joining the list of anycast on this interface as we don't hold a refcount for the device, in this case we are safe to ignore the error. What's more important, for API compatibility we should not change this behavior for applications even if it were correct. Fixes: commit a9ed4a2986e13011 ("ipv6: fix rtnl locking in setsockopt for anycast and multicast") Cc: Sabrina Dubroca <sd@queasysnail.net> Cc: David S. Miller <davem@davemloft.net> 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')
-rw-r--r--net/ipv6/anycast.c2
1 files changed, 0 insertions, 2 deletions
diff --git a/net/ipv6/anycast.c b/net/ipv6/anycast.c
index 45b9d81d91e8..ff2de7d9d8e6 100644
--- a/net/ipv6/anycast.c
+++ b/net/ipv6/anycast.c
@@ -182,8 +182,6 @@ int ipv6_sock_ac_drop(struct sock *sk, int ifindex, const struct in6_addr *addr)
182 rtnl_unlock(); 182 rtnl_unlock();
183 183
184 sock_kfree_s(sk, pac, sizeof(*pac)); 184 sock_kfree_s(sk, pac, sizeof(*pac));
185 if (!dev)
186 return -ENODEV;
187 return 0; 185 return 0;
188} 186}
189 187