[3.8.y.z extended stable] Patch "ipv6: always set the new created dst's from in ip6_rt_copy" has been added to staging queue
Kamal Mostafa
kamal at canonical.com
Wed Jan 15 21:49:44 UTC 2014
This is a note to let you know that I have just added a patch titled
ipv6: always set the new created dst's from in ip6_rt_copy
to the linux-3.8.y-queue branch of the 3.8.y.z extended stable tree
which can be found at:
http://kernel.ubuntu.com/git?p=ubuntu/linux.git;a=shortlog;h=refs/heads/linux-3.8.y-queue
This patch is scheduled to be released in version 3.8.13.16.
If you, or anyone else, feels it should not be added to this tree, please
reply to this email.
For more information about the 3.8.y.z tree, see
https://wiki.ubuntu.com/Kernel/Dev/ExtendedStable
Thanks.
-Kamal
------
>From 494afe9dca71b4a71c49836be965dedab6337399 Mon Sep 17 00:00:00 2001
From: Li RongQing <roy.qing.li at gmail.com>
Date: Thu, 19 Dec 2013 12:40:26 +0800
Subject: ipv6: always set the new created dst's from in ip6_rt_copy
[ Upstream commit 24f5b855e17df7e355eacd6c4a12cc4d6a6c9ff0 ]
ip6_rt_copy only sets dst.from if ort has flag RTF_ADDRCONF and RTF_DEFAULT.
but the prefix routes which did get installed by hand locally can have an
expiration, and no any flag combination which can ensure a potential from
does never expire, so we should always set the new created dst's from.
This also fixes the new created dst is always expired since the ort, which
is created by RA, maybe has RTF_EXPIRES and RTF_ADDRCONF, but no RTF_DEFAULT.
Suggested-by: Hannes Frederic Sowa <hannes at stressinduktion.org>
CC: Gao feng <gaofeng at cn.fujitsu.com>
Signed-off-by: Li RongQing <roy.qing.li at gmail.com>
Acked-by: Hannes Frederic Sowa <hannes at stressinduktion.org>
Signed-off-by: David S. Miller <davem at davemloft.net>
[ kamal: backport to 3.8 (context) ]
Signed-off-by: Kamal Mostafa <kamal at canonical.com>
---
net/ipv6/route.c | 4 +---
1 file changed, 1 insertion(+), 3 deletions(-)
diff --git a/net/ipv6/route.c b/net/ipv6/route.c
index 7352014..d8ba7c5 100644
--- a/net/ipv6/route.c
+++ b/net/ipv6/route.c
@@ -1867,9 +1867,7 @@ static struct rt6_info *ip6_rt_copy(struct rt6_info *ort,
rt->rt6i_gateway = ort->rt6i_gateway;
rt->rt6i_flags = ort->rt6i_flags;
- if ((ort->rt6i_flags & (RTF_DEFAULT | RTF_ADDRCONF)) ==
- (RTF_DEFAULT | RTF_ADDRCONF))
- rt6_set_from(rt, ort);
+ rt6_set_from(rt, ort);
rt->rt6i_metric = 0;
#ifdef CONFIG_IPV6_SUBTREES
--
1.8.3.2
More information about the kernel-team
mailing list