netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3] net: ethernet: use ip_hdrlen() instead of bit shift
@ 2024-08-07 10:07 Moon Yeounsu
  2024-08-07 12:28 ` Christophe JAILLET
  2024-08-11  3:52 ` patchwork-bot+netdevbpf
  0 siblings, 2 replies; 3+ messages in thread
From: Moon Yeounsu @ 2024-08-07 10:07 UTC (permalink / raw)
  To: davem, edumazet, kuba, pabeni; +Cc: netdev, linux-kernel, Moon Yeounsu

`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>
---
v1: use ip_hdrlen() instead of bit shift
Reference: https://lore.kernel.org/all/20240802054421.5428-1-yyyynoom@gmail.com/

v2: remove unnecessary parentheses
- Remove extra () [Christophe Jaillet, Simon Horman]
- Break long lines [Simon Horman]
Reference: https://lore.kernel.org/all/20240803022949.28229-1-yyyynoom@gmail.com/

v3: create a standalone patch
- Start with a new thread
- Include the change logs,
- Create a standalone patch [Christophe Jaillet]

 drivers/net/ethernet/jme.c | 10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

diff --git a/drivers/net/ethernet/jme.c b/drivers/net/ethernet/jme.c
index b06e24562973..d8be0e4dcb07 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)))) {
+
+	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);
-- 
2.45.2


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH v3] net: ethernet: use ip_hdrlen() instead of bit shift
  2024-08-07 10:07 [PATCH v3] net: ethernet: use ip_hdrlen() instead of bit shift Moon Yeounsu
@ 2024-08-07 12:28 ` Christophe JAILLET
  2024-08-11  3:52 ` patchwork-bot+netdevbpf
  1 sibling, 0 replies; 3+ messages in thread
From: Christophe JAILLET @ 2024-08-07 12:28 UTC (permalink / raw)
  To: Moon Yeounsu, davem, edumazet, kuba, pabeni; +Cc: netdev, linux-kernel

Le 07/08/2024 à 12:07, Moon Yeounsu a écrit :
> `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>

> ---
> v1: use ip_hdrlen() instead of bit shift
> Reference: https://lore.kernel.org/all/20240802054421.5428-1-yyyynoom@gmail.com/
> 
> v2: remove unnecessary parentheses
> - Remove extra () [Christophe Jaillet, Simon Horman]
> - Break long lines [Simon Horman]
> Reference: https://lore.kernel.org/all/20240803022949.28229-1-yyyynoom@gmail.com/
> 
> v3: create a standalone patch
> - Start with a new thread
> - Include the change logs,
> - Create a standalone patch [Christophe Jaillet]
> 
>   drivers/net/ethernet/jme.c | 10 ++++------
>   1 file changed, 4 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/net/ethernet/jme.c b/drivers/net/ethernet/jme.c
> index b06e24562973..d8be0e4dcb07 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)))) {
> +
> +	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);


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH v3] net: ethernet: use ip_hdrlen() instead of bit shift
  2024-08-07 10:07 [PATCH v3] net: ethernet: use ip_hdrlen() instead of bit shift Moon Yeounsu
  2024-08-07 12:28 ` Christophe JAILLET
@ 2024-08-11  3:52 ` patchwork-bot+netdevbpf
  1 sibling, 0 replies; 3+ messages in thread
From: patchwork-bot+netdevbpf @ 2024-08-11  3:52 UTC (permalink / raw)
  To: Moon Yeounsu; +Cc: davem, edumazet, kuba, pabeni, netdev, linux-kernel

Hello:

This patch was applied to netdev/net.git (main)
by David S. Miller <davem@davemloft.net>:

On Wed,  7 Aug 2024 19:07:21 +0900 you wrote:
> `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>
> 
> [...]

Here is the summary with links:
  - [v3] net: ethernet: use ip_hdrlen() instead of bit shift
    https://git.kernel.org/netdev/net/c/9a039eeb71a4

You are awesome, thank you!
-- 
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html



^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2024-08-11  3:52 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-08-07 10:07 [PATCH v3] net: ethernet: use ip_hdrlen() instead of bit shift Moon Yeounsu
2024-08-07 12:28 ` Christophe JAILLET
2024-08-11  3:52 ` patchwork-bot+netdevbpf

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).