aboutsummaryrefslogtreecommitdiffstats
path: root/net/ipv6/addrconf.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/ipv6/addrconf.c')
-rw-r--r--net/ipv6/addrconf.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c
index 8eeec6eb2bd3..72ffd3d760ff 100644
--- a/net/ipv6/addrconf.c
+++ b/net/ipv6/addrconf.c
@@ -1165,7 +1165,8 @@ check_cleanup_prefix_route(struct inet6_ifaddr *ifp, unsigned long *expires)
1165 list_for_each_entry(ifa, &idev->addr_list, if_list) { 1165 list_for_each_entry(ifa, &idev->addr_list, if_list) {
1166 if (ifa == ifp) 1166 if (ifa == ifp)
1167 continue; 1167 continue;
1168 if (!ipv6_prefix_equal(&ifa->addr, &ifp->addr, 1168 if (ifa->prefix_len != ifp->prefix_len ||
1169 !ipv6_prefix_equal(&ifa->addr, &ifp->addr,
1169 ifp->prefix_len)) 1170 ifp->prefix_len))
1170 continue; 1171 continue;
1171 if (ifa->flags & (IFA_F_PERMANENT | IFA_F_NOPREFIXROUTE)) 1172 if (ifa->flags & (IFA_F_PERMANENT | IFA_F_NOPREFIXROUTE))
@@ -3495,8 +3496,8 @@ static int addrconf_notify(struct notifier_block *this, unsigned long event,
3495 3496
3496 if (!addrconf_link_ready(dev)) { 3497 if (!addrconf_link_ready(dev)) {
3497 /* device is not ready yet. */ 3498 /* device is not ready yet. */
3498 pr_info("ADDRCONF(NETDEV_UP): %s: link is not ready\n", 3499 pr_debug("ADDRCONF(NETDEV_UP): %s: link is not ready\n",
3499 dev->name); 3500 dev->name);
3500 break; 3501 break;
3501 } 3502 }
3502 3503
@@ -5120,6 +5121,8 @@ static int inet6_dump_addr(struct sk_buff *skb, struct netlink_callback *cb,
5120 if (idev) { 5121 if (idev) {
5121 err = in6_dump_addrs(idev, skb, cb, s_ip_idx, 5122 err = in6_dump_addrs(idev, skb, cb, s_ip_idx,
5122 &fillargs); 5123 &fillargs);
5124 if (err > 0)
5125 err = 0;
5123 } 5126 }
5124 goto put_tgt_net; 5127 goto put_tgt_net;
5125 } 5128 }
@@ -5154,7 +5157,7 @@ put_tgt_net:
5154 if (fillargs.netnsid >= 0) 5157 if (fillargs.netnsid >= 0)
5155 put_net(tgt_net); 5158 put_net(tgt_net);
5156 5159
5157 return err < 0 ? err : skb->len; 5160 return skb->len ? : err;
5158} 5161}
5159 5162
5160static int inet6_dump_ifaddr(struct sk_buff *skb, struct netlink_callback *cb) 5163static int inet6_dump_ifaddr(struct sk_buff *skb, struct netlink_callback *cb)