]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
net: ethernet: use ip_hdrlen() instead of bit shift
authorMoon Yeounsu <yyyynoom@gmail.com>
Wed, 7 Aug 2024 10:07:21 +0000 (19:07 +0900)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 18 Sep 2024 17:24:05 +0000 (19:24 +0200)
[ Upstream commit 9a039eeb71a42c8b13408a1976e300f3898e1be0 ]

`ip_hdr(skb)->ihl << 2` is the same as `ip_hdrlen(skb)`
Therefore, we should use a well-defined function not a bit shift
to find the header length.

It also compresses two lines to a single line.

Signed-off-by: Moon Yeounsu <yyyynoom@gmail.com>
Reviewed-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/net/ethernet/jme.c

index 1732ec3c3dbdc4767a6e48296f9219f588f9e643..a718207988f2c4ad1015d17571638dda011075b7 100644 (file)
@@ -946,15 +946,13 @@ jme_udpsum(struct sk_buff *skb)
        if (skb->protocol != htons(ETH_P_IP))
                return csum;
        skb_set_network_header(skb, ETH_HLEN);
-       if ((ip_hdr(skb)->protocol != IPPROTO_UDP) ||
-           (skb->len < (ETH_HLEN +
-                       (ip_hdr(skb)->ihl << 2) +
-                       sizeof(struct udphdr)))) {
+
+       if (ip_hdr(skb)->protocol != IPPROTO_UDP ||
+           skb->len < (ETH_HLEN + ip_hdrlen(skb) + sizeof(struct udphdr))) {
                skb_reset_network_header(skb);
                return csum;
        }
-       skb_set_transport_header(skb,
-                       ETH_HLEN + (ip_hdr(skb)->ihl << 2));
+       skb_set_transport_header(skb, ETH_HLEN + ip_hdrlen(skb));
        csum = udp_hdr(skb)->check;
        skb_reset_transport_header(skb);
        skb_reset_network_header(skb);