Thread (10 messages) flat view 10 messages, 4 authors, 2024-08-05

Re: [PATCH] net: ethernet: use ip_hdrlen() instead of bit shift

From: Christophe JAILLET <hidden>
Date: 2024-08-02 14:09:22
Also in: lkml

Le 02/08/2024 à 07:44, Moon Yeounsu a écrit :
`ip_hdr(skb)->ihl << 2` are 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 compress two lines at a single line.

Signed-off-by: Moon Yeounsu <redacted>
---
  drivers/net/ethernet/jme.c | 8 +++-----
  1 file changed, 3 insertions(+), 5 deletions(-)
Hi,
quoted hunk ↗ jump to hunk
diff --git a/drivers/net/ethernet/jme.c b/drivers/net/ethernet/jme.c
index b06e24562973..83b185c995df 100644
--- a/drivers/net/ethernet/jme.c
+++ b/drivers/net/ethernet/jme.c
@@ -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)))) {
+	    (skb->len < (ETH_HLEN + (ip_hdrlen(skb)) + sizeof(struct udphdr)))) {
The extra () around "ip_hdrlen(skb)" can be remove.
Also maybe the ones around "ETH_HLEN + ip_hdrlen(skb)" could also be 
removed.
  		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)));
Same here, the extra () around "ip_hdrlen(skb)" can be remove.

CJ
  	csum = udp_hdr(skb)->check;
  	skb_reset_transport_header(skb);
  	skb_reset_network_header(skb);
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help