On Wed, Aug 06, 2014 at 04:18:17PM +0800, chenweilong wrote: > It fix the bug 67951 on bugzilla > https://bugzilla.kernel.org/show_bug.cgi?id=67951 > > The patch can't be applied directly, as it' used the function introduced > by "commit 94e187c0" ip6_rt_put(), that patch can't be applied directly > either. > I'm queuing this commit for the 3.11 kernel as well. Thanks! Cheers, -- Luís > ==================== > > From: Gao feng <gaofeng@xxxxxxxxxxxxxx> > > commit 33d99113b1102c2d2f8603b9ba72d89d915c13f5 upstream. > > This commit don't have a stable tag, but it fix the bug > no reply after loopback down-up.It's very worthy to be > applied to stable 3.4 kernels. > > The bug is 67951 on bugzilla > https://bugzilla.kernel.org/show_bug.cgi?id=67951 > > > CC: Sabrina Dubroca <sd@xxxxxxxxxxxxxxx> > CC: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> > Reported-by: Weilong Chen <chenweilong@xxxxxxxxxx> > Signed-off-by: Weilong Chen <chenweilong@xxxxxxxxxx> > Signed-off-by: Gao feng <gaofeng@xxxxxxxxxxxxxx> > Acked-by: Hannes Frederic Sowa <hannes@xxxxxxxxxxxxxxxxxxx> > Signed-off-by: David S. Miller <davem@xxxxxxxxxxxxx> > [weilong: s/ip6_rt_put/dst_release] > Signed-off-by: Chen Weilong <chenweilong@xxxxxxxxxx> > --- > net/ipv6/addrconf.c | 14 ++++++++++++-- > 1 file changed, 12 insertions(+), 2 deletions(-) > > diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c > index abfa007..25399bf 100644 > --- a/net/ipv6/addrconf.c > +++ b/net/ipv6/addrconf.c > @@ -2435,8 +2435,18 @@ static void init_loopback(struct net_device *dev) > if (sp_ifa->flags & (IFA_F_DADFAILED | IFA_F_TENTATIVE)) > continue; > > - if (sp_ifa->rt) > - continue; > + if (sp_ifa->rt) { > + /* This dst has been added to garbage list when > + * lo device down, release this obsolete dst and > + * reallocate a new router for ifa. > + */ > + if (sp_ifa->rt->dst.obsolete > 0) { > + dst_release(&sp_ifa->rt->dst); > + sp_ifa->rt = NULL; > + } else { > + continue; > + } > + } > > sp_rt = addrconf_dst_alloc(idev, &sp_ifa->addr, 0); > > -- 1.7.12 > > -- > To unsubscribe from this list: send the line "unsubscribe stable" in > the body of a message to majordomo@xxxxxxxxxxxxxxx > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe stable" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html