From: Xin Long <lucien....@gmail.com> Date: Fri, 17 Nov 2017 14:27:06 +0800
> Now when creating fnhe for redirect, it sets fnhe_expires for this > new route cache. But when updating the exist one, it doesn't do it. > It will cause this fnhe never to be expired. > > Paolo already noticed it before, in Jianlin's test case, it became > even worse: > > When ip route flush cache, the old fnhe is not to be removed, but > only clean it's members. When redirect comes again, this fnhe will > be found and updated, but never be expired due to fnhe_expires not > being set. > > So fix it by simply updating fnhe_expires even it's for redirect. > > Fixes: aee06da6726d ("ipv4: use seqlock for nh_exceptions") > Reported-by: Jianlin Shi <ji...@redhat.com> > Acked-by: Hannes Frederic Sowa <han...@stressinduktion.org> > Signed-off-by: Xin Long <lucien....@gmail.com> Applied.