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: Tue, 17 Dec 2013 14:42:01 +0800 From: RongQing Li <roy.qing.li@...il.com> To: Gao feng <gaofeng@...fujitsu.com> Cc: netdev@...r.kernel.org Subject: Re: [PATCH] ipv6: clear RTF_EXPIRES when call ip6_rt_copy On 12/17/13, Gao feng <gaofeng@...fujitsu.com> wrote: > On 12/17/2013 11:32 AM, RongQing Li wrote: >> If the ort->rt6i_flags is RTF_EXPIRES|RTF_ADDRCONF, then rt6_set_from will >> not >> be called, and new created rt will have RTF_EXPIRES, but dst.expires is 0, >> and >> dst.from is NULL > > Ok, but I think you need to add more detail/test purpose of the test case > v6LC.4.1.4 > { Reduce PMTU On-link }. just the number of test case is not good for people > to know > what's the real problem. > I have a question, why does we set dst.from only when the ort has flag RTF_ADDRCONF and RTF_DEFAULT? -Roy >> >> -Roy >> >> 2013/12/17 Gao feng <gaofeng@...fujitsu.com>: >>> On 12/16/2013 04:31 PM, roy.qing.li@...il.com wrote: >>>> From: Li RongQing <roy.qing.li@...il.com> >>>> >>>> The commit ecd9883724b [ipv6: fix race condition regarding dst->expires >>>> and >>>> dst->from.] removed rt6_clean_expires in ip6_rt_copy, which causes the >>>> TAHI >>>> test case v6LC.4.1.4 { Reduce PMTU On-link } failed, since the newly >>>> generated >>>> rt maybe always expired {with RTF_EXPIRES flag, dst.expires is 0, and >>>> dst.from >>>> is NULL}. >>>> >>>> Fix it by clearing RTF_EXPIRES as before 1716a96101[ipv6: fix problem >>>> with >>>> expired dst cache] >>>> >>>> Signed-off-by: Li RongQing <roy.qing.li@...il.com> >>>> --- >>>> net/ipv6/route.c | 2 +- >>>> 1 file changed, 1 insertion(+), 1 deletion(-) >>>> >>>> diff --git a/net/ipv6/route.c b/net/ipv6/route.c >>>> index a1a5752..e3d7f21 100644 >>>> --- a/net/ipv6/route.c >>>> +++ b/net/ipv6/route.c >>>> @@ -1908,7 +1908,7 @@ static struct rt6_info *ip6_rt_copy(struct >>>> rt6_info *ort, >>>> rt->rt6i_gateway = ort->rt6i_gateway; >>>> else >>>> rt->rt6i_gateway = *dest; >>>> - rt->rt6i_flags = ort->rt6i_flags; >>>> + rt->rt6i_flags = ort->rt6i_flags & ~RTF_EXPIRES; >>>> if ((ort->rt6i_flags & (RTF_DEFAULT | RTF_ADDRCONF)) == >>>> (RTF_DEFAULT | RTF_ADDRCONF)) >>>> rt6_set_from(rt, ort); >>>> >>> >>> I don't understand, rt6_set_from already clears the RTF_EXPIRES from >>> rt->rt6i_flags. >>> >> > > -- 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