Files
linux/include/net
Xin Long b7999b0772 ipv6: fix the check before getting the cookie in rt6_get_cookie
In Jianlin's testing, netperf was broken with 'Connection reset by peer',
as the cookie check failed in rt6_check() and ip6_dst_check() always
returned NULL.

It's caused by Commit 93531c6743 ("net/ipv6: separate handling of FIB
entries from dst based routes"), where the cookie can be got only when
'c1'(see below) for setting dst_cookie whereas rt6_check() is called
when !'c1' for checking dst_cookie, as we can see in ip6_dst_check().

Since in ip6_dst_check() both rt6_dst_from_check() (c1) and rt6_check()
(!c1) will check the 'from' cookie, this patch is to remove the c1 check
in rt6_get_cookie(), so that the dst_cookie can always be set properly.

c1:
  (rt->rt6i_flags & RTF_PCPU || unlikely(!list_empty(&rt->rt6i_uncached)))

Fixes: 93531c6743 ("net/ipv6: separate handling of FIB entries from dst based routes")
Reported-by: Jianlin Shi <jishi@redhat.com>
Signed-off-by: Xin Long <lucien.xin@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2019-06-05 17:00:29 -07:00
..
2018-09-08 01:39:47 +09:00
2018-01-19 14:02:12 -05:00
2019-02-21 16:23:56 -08:00
2019-01-23 11:18:00 -08:00
2018-09-26 20:22:19 -07:00
2018-07-30 09:10:25 -07:00
2016-07-08 12:20:57 +02:00
2016-04-25 16:44:27 -04:00
2016-04-25 16:44:27 -04:00
2019-04-19 14:07:40 -07:00
2019-03-21 13:39:25 -07:00
2018-02-28 11:43:28 -05:00
2018-04-23 10:21:24 -04:00
2017-10-11 09:49:34 +02:00
2017-12-11 14:10:06 -05:00
2019-02-25 14:32:35 -08:00
2016-08-17 19:36:23 -04:00
2018-09-13 09:04:58 -07:00
2016-10-03 02:00:22 -04:00
2016-07-08 12:20:57 +02:00
2017-11-08 16:12:33 +09:00
2018-09-25 20:17:35 -07:00
2017-12-05 14:37:13 -05:00
2018-05-16 07:23:35 +02:00
2019-04-22 21:47:25 -07:00
2018-06-22 13:43:27 +09:00
2018-12-20 16:56:04 -08:00
2019-05-15 09:22:41 -07:00
2018-08-29 12:25:53 -07:00