lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Wed, 22 Jan 2014 08:20:55 -0800 From: Eric Dumazet <eric.dumazet@...il.com> To: Sabrina Dubroca <sd@...asysnail.net> Cc: netdev@...r.kernel.org, hannes@...essinduktion.org, gaofeng@...fujitsu.com Subject: Re: [RFC PATCH net] IPv6: Fix broken IPv6 routing table after loopback down-up On Wed, 2014-01-22 at 16:35 +0100, Sabrina Dubroca wrote: > > --- > net/ipv6/addrconf.c | 22 ++++++++++++++++++---- > 1 file changed, 18 insertions(+), 4 deletions(-) > > diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c > index 4b6b720..b2eb653 100644 > --- a/net/ipv6/addrconf.c > +++ b/net/ipv6/addrconf.c > @@ -2578,6 +2578,23 @@ static void sit_add_v4_addrs(struct inet6_dev *idev) > } > #endif > > +struct rt6_info *addrconf_dst_alloc_once(struct inet6_dev *idev, > + const struct in6_addr *addr, > + bool anycast) > +{ > + struct net *net = dev_net(idev->dev); > + struct rt6_info *rt = rt6_lookup(net, addr, NULL, 0, 0); This allocates a dst > + > + if (rt == NULL) > + return addrconf_dst_alloc(idev, addr, anycast); > + else if (!(rt->rt6i_flags & RTF_NONEXTHOP && > + ((anycast && rt->rt6i_flags & RTF_ANYCAST) || > + (!anycast && rt->rt6i_flags & RTF_LOCAL)))) > + return addrconf_dst_alloc(idev, addr, anycast); But nothing seems to release it It seems your patch lacks ip6_rt_put(rt); > + > + return ERR_PTR(-EEXIST); > +} > + -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists