From: Miaohe Lin Date: Tue, 25 Aug 2020 11:40:48 +0000 (-0400) Subject: net: Avoid unnecessary inet_addr_type() call when addr is INADDR_ANY X-Git-Tag: baikal/aarch64/sdk6.1~8144^2~443 X-Git-Url: https://git.baikalelectronics.ru/sdk/?a=commitdiff_plain;h=29b87852ee3a0e91d055122998f099b831d03744;p=kernel.git net: Avoid unnecessary inet_addr_type() call when addr is INADDR_ANY We can avoid unnecessary inet_addr_type() call by check addr against INADDR_ANY first. Signed-off-by: Miaohe Lin Signed-off-by: David S. Miller --- diff --git a/net/ipv4/ping.c b/net/ipv4/ping.c index cc09d1135ce2f..19a947bf0faa0 100644 --- a/net/ipv4/ping.c +++ b/net/ipv4/ping.c @@ -310,10 +310,10 @@ static int ping_check_bind_addr(struct sock *sk, struct inet_sock *isk, pr_debug("ping_check_bind_addr(sk=%p,addr=%pI4,port=%d)\n", sk, &addr->sin_addr.s_addr, ntohs(addr->sin_port)); - chk_addr_ret = inet_addr_type(net, addr->sin_addr.s_addr); - if (addr->sin_addr.s_addr == htonl(INADDR_ANY)) chk_addr_ret = RTN_LOCAL; + else + chk_addr_ret = inet_addr_type(net, addr->sin_addr.s_addr); if ((!inet_can_nonlocal_bind(net, isk) && chk_addr_ret != RTN_LOCAL) ||