When mtu is locked, we should not obtain ipv4 mtu as we return immediately
in this case and leave acquired ipv4 mtu unused.
Signed-off-by: Miaohe Lin <linmiaohe@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
 static void __ip_rt_update_pmtu(struct rtable *rt, struct flowi4 *fl4, u32 mtu)
 {
        struct dst_entry *dst = &rt->dst;
-       u32 old_mtu = ipv4_mtu(dst);
        struct fib_result res;
        bool lock = false;
+       u32 old_mtu;
 
        if (ip_mtu_locked(dst))
                return;
 
+       old_mtu = ipv4_mtu(dst);
        if (old_mtu < mtu)
                return;