From: Xin Long <[email protected]>
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 <[email protected]>
> Acked-by: Hannes Frederic Sowa <[email protected]>
> Signed-off-by: Xin Long <[email protected]>
Applied.