[PATCH v2] net: gain ipv4 mtu when mtu is not locked

From: Miaohe Lin
Date: Mon Aug 24 2020 - 23:21:52 EST


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@xxxxxxxxxx>
---
net/ipv4/route.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/net/ipv4/route.c b/net/ipv4/route.c
index 8ca6bcab7b03..18c8baf32de5 100644
--- a/net/ipv4/route.c
+++ b/net/ipv4/route.c
@@ -1013,13 +1013,14 @@ out: kfree_skb(skb);
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;

--
2.19.1