drivers/net/ethernet/jme.c | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-)
`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
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);
© 2016 - 2025 Red Hat, Inc.