Commit 9a039eeb authored by Moon Yeounsu's avatar Moon Yeounsu Committed by David S. Miller

net: ethernet: use ip_hdrlen() instead of bit shift

`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: default avatarMoon Yeounsu <yyyynoom@gmail.com>
Reviewed-by: default avatarChristophe JAILLET <christophe.jaillet@wanadoo.fr>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent eb755a95
...@@ -946,15 +946,13 @@ jme_udpsum(struct sk_buff *skb) ...@@ -946,15 +946,13 @@ jme_udpsum(struct sk_buff *skb)
if (skb->protocol != htons(ETH_P_IP)) if (skb->protocol != htons(ETH_P_IP))
return csum; return csum;
skb_set_network_header(skb, ETH_HLEN); skb_set_network_header(skb, ETH_HLEN);
if ((ip_hdr(skb)->protocol != IPPROTO_UDP) ||
(skb->len < (ETH_HLEN + if (ip_hdr(skb)->protocol != IPPROTO_UDP ||
(ip_hdr(skb)->ihl << 2) + skb->len < (ETH_HLEN + ip_hdrlen(skb) + sizeof(struct udphdr))) {
sizeof(struct udphdr)))) {
skb_reset_network_header(skb); skb_reset_network_header(skb);
return csum; return csum;
} }
skb_set_transport_header(skb, skb_set_transport_header(skb, ETH_HLEN + ip_hdrlen(skb));
ETH_HLEN + (ip_hdr(skb)->ihl << 2));
csum = udp_hdr(skb)->check; csum = udp_hdr(skb)->check;
skb_reset_transport_header(skb); skb_reset_transport_header(skb);
skb_reset_network_header(skb); skb_reset_network_header(skb);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment