From: Xin Long <lucien....@gmail.com> Date: Sun, 2 Jun 2019 19:10:46 +0800
> 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 93531c674315 ("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: 93531c674315 ("net/ipv6: separate handling of FIB entries from dst > based routes") > Reported-by: Jianlin Shi <ji...@redhat.com> > Signed-off-by: Xin Long <lucien....@gmail.com> Applied and queued up for -stable.