ipv4: reset fnhe_mtu_locked after cache route flushed
authorHangbin Liu <liuhangbin@gmail.com>
Wed, 9 May 2018 10:06:44 +0000 (18:06 +0800)
committerDavid S. Miller <davem@davemloft.net>
Thu, 10 May 2018 19:40:52 +0000 (15:40 -0400)
commit0e8411e426e277f55bd21e287ec89fab6f8eacae
tree3f99a701754cefcf8e0952ca78de9d9291fd5184
parent55be9f25be1ca5bda75c39808fc77e42691bc07f
ipv4: reset fnhe_mtu_locked after cache route flushed

After route cache is flushed via ipv4_sysctl_rtcache_flush(), we forget
to reset fnhe_mtu_locked in rt_bind_exception(). When pmtu is updated
in __ip_rt_update_pmtu(), it will return directly since the pmtu is
still locked. e.g.

+ ip netns exec client ping 10.10.1.1 -c 1 -s 1400 -M do
PING 10.10.1.1 (10.10.1.1) 1400(1428) bytes of data.
>From 10.10.0.254 icmp_seq=1 Frag needed and DF set (mtu = 0)

Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/route.c