2017-08-23 11:13:16

by Colin King

[permalink] [raw]
Subject: [PATCH][netdev-next] gre: remove duplicated assignment of iph

From: Colin Ian King <[email protected]>

iph is being assigned the same value twice; remove the redundant
second assignment.

Fixes warning:
net/ipv4/ip_gre.c:265:2: warning: Value stored to 'iph' is never read

Signed-off-by: Colin Ian King <[email protected]>
---
net/ipv4/ip_gre.c | 1 -
1 file changed, 1 deletion(-)

diff --git a/net/ipv4/ip_gre.c b/net/ipv4/ip_gre.c
index 6e8a62289e03..6b3e7c99a3b6 100644
--- a/net/ipv4/ip_gre.c
+++ b/net/ipv4/ip_gre.c
@@ -268,7 +268,6 @@ static int erspan_rcv(struct sk_buff *skb, struct tnl_ptk_info *tpi,
if (unlikely(!pskb_may_pull(skb, len)))
return -ENOMEM;

- iph = ip_hdr(skb);
ershdr = (struct erspanhdr *)(skb->data + gre_hdr_len);

/* The original GRE header does not have key field,
--
2.14.1


2017-08-23 11:52:31

by Nikolay Aleksandrov

[permalink] [raw]
Subject: Re: [PATCH][netdev-next] gre: remove duplicated assignment of iph

On 23/08/17 14:13, Colin King wrote:
> From: Colin Ian King <[email protected]>
>
> iph is being assigned the same value twice; remove the redundant
> second assignment.
>
> Fixes warning:
> net/ipv4/ip_gre.c:265:2: warning: Value stored to 'iph' is never read
>
> Signed-off-by: Colin Ian King <[email protected]>
> ---
> net/ipv4/ip_gre.c | 1 -
> 1 file changed, 1 deletion(-)
>
> diff --git a/net/ipv4/ip_gre.c b/net/ipv4/ip_gre.c
> index 6e8a62289e03..6b3e7c99a3b6 100644
> --- a/net/ipv4/ip_gre.c
> +++ b/net/ipv4/ip_gre.c
> @@ -268,7 +268,6 @@ static int erspan_rcv(struct sk_buff *skb, struct tnl_ptk_info *tpi,
> if (unlikely(!pskb_may_pull(skb, len)))
> return -ENOMEM;
>
> - iph = ip_hdr(skb);
> ershdr = (struct erspanhdr *)(skb->data + gre_hdr_len);
>
> /* The original GRE header does not have key field,
>

This one looks like a correct assignment, I'd remove the previous one because
pskb_may_pull may change the header pointers and the previously assigned iph might
become wrong.

Also add the author of the code to the CC list.



2017-08-23 18:46:14

by David Miller

[permalink] [raw]
Subject: Re: [PATCH][netdev-next] gre: remove duplicated assignment of iph

From: Colin King <[email protected]>
Date: Wed, 23 Aug 2017 12:13:05 +0100

> From: Colin Ian King <[email protected]>
>
> iph is being assigned the same value twice; remove the redundant
> second assignment.
>
> Fixes warning:
> net/ipv4/ip_gre.c:265:2: warning: Value stored to 'iph' is never read
>
> Signed-off-by: Colin Ian King <[email protected]>

It is always necessary to reload any SKB header pointer after calls
to functions which potentially change the data buffer of the SKB.

pskb_may_pull() is one such call.

Therefore your patch is adding a bug.

If you want to remove the dup, you must remove the first not
the second one.