[PATCH] net/ipv6: remove redundant err variable

cgel.zte@gmail.com posted 1 patch 4 years, 5 months ago
net/ipv6/ip6_tunnel.c | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
[PATCH] net/ipv6: remove redundant err variable
Posted by cgel.zte@gmail.com 4 years, 5 months ago
From: Minghao Chi <chi.minghao@zte.com.cn>

Return value from ip6_tnl_err() directly instead
of taking this in another redundant variable.

Reported-by: Zeal Robot <zealci@zte.com.cn>
Signed-off-by: Minghao Chi <chi.minghao@zte.com.cn>
Signed-off-by: CGEL ZTE <cgel.zte@gmail.com>
---
 net/ipv6/ip6_tunnel.c | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/net/ipv6/ip6_tunnel.c b/net/ipv6/ip6_tunnel.c
index fe786df4f849..897194eb3b89 100644
--- a/net/ipv6/ip6_tunnel.c
+++ b/net/ipv6/ip6_tunnel.c
@@ -698,13 +698,12 @@ mplsip6_err(struct sk_buff *skb, struct inet6_skb_parm *opt,
 	    u8 type, u8 code, int offset, __be32 info)
 {
 	__u32 rel_info = ntohl(info);
-	int err, rel_msg = 0;
+	int rel_msg = 0;
 	u8 rel_type = type;
 	u8 rel_code = code;
 
-	err = ip6_tnl_err(skb, IPPROTO_MPLS, opt, &rel_type, &rel_code,
+	return ip6_tnl_err(skb, IPPROTO_MPLS, opt, &rel_type, &rel_code,
 			  &rel_msg, &rel_info, offset);
-	return err;
 }
 
 static int ip4ip6_dscp_ecn_decapsulate(const struct ip6_tnl *t,
-- 
2.25.1

Re: [PATCH] net/ipv6: remove redundant err variable
Posted by David Ahern 4 years, 5 months ago
On 1/12/22 1:26 AM, cgel.zte@gmail.com wrote:
> diff --git a/net/ipv6/ip6_tunnel.c b/net/ipv6/ip6_tunnel.c
> index fe786df4f849..897194eb3b89 100644
> --- a/net/ipv6/ip6_tunnel.c
> +++ b/net/ipv6/ip6_tunnel.c
> @@ -698,13 +698,12 @@ mplsip6_err(struct sk_buff *skb, struct inet6_skb_parm *opt,
>  	    u8 type, u8 code, int offset, __be32 info)
>  {
>  	__u32 rel_info = ntohl(info);
> -	int err, rel_msg = 0;
> +	int rel_msg = 0;

this line needs to be moved down to maintain reverse xmas tree ordering.

You need to make the subject
'[PATCH net-next] net/ipv6: remove redundant err variable'

and since net-next is closed you will need to resubmit when it is open.

>  	u8 rel_type = type;
>  	u8 rel_code = code;
>  
> -	err = ip6_tnl_err(skb, IPPROTO_MPLS, opt, &rel_type, &rel_code,
> +	return ip6_tnl_err(skb, IPPROTO_MPLS, opt, &rel_type, &rel_code,
>  			  &rel_msg, &rel_info, offset);
> -	return err;
>  }
>  
>  static int ip4ip6_dscp_ecn_decapsulate(const struct ip6_tnl *t,

Re: [PATCH] net/ipv6: remove redundant err variable
Posted by Jakub Kicinski 4 years, 5 months ago
On Wed, 12 Jan 2022 08:54:41 -0700 David Ahern wrote:
> On 1/12/22 1:26 AM, cgel.zte@gmail.com wrote:
> > diff --git a/net/ipv6/ip6_tunnel.c b/net/ipv6/ip6_tunnel.c
> > index fe786df4f849..897194eb3b89 100644
> > --- a/net/ipv6/ip6_tunnel.c
> > +++ b/net/ipv6/ip6_tunnel.c
> > @@ -698,13 +698,12 @@ mplsip6_err(struct sk_buff *skb, struct inet6_skb_parm *opt,
> >  	    u8 type, u8 code, int offset, __be32 info)
> >  {
> >  	__u32 rel_info = ntohl(info);
> > -	int err, rel_msg = 0;
> > +	int rel_msg = 0;  
> 
> this line needs to be moved down to maintain reverse xmas tree ordering.
> 
> You need to make the subject
> '[PATCH net-next] net/ipv6: remove redundant err variable'
> 
> and since net-next is closed you will need to resubmit when it is open.

Frankly I'm not sure these type of patches make sense.

Minghao how many instances of this pattern are there in the tree today?

What tools can we use to ensure the pattern does not get added back in
new patches?

> >  	u8 rel_type = type;
> >  	u8 rel_code = code;
> >  
> > -	err = ip6_tnl_err(skb, IPPROTO_MPLS, opt, &rel_type, &rel_code,
> > +	return ip6_tnl_err(skb, IPPROTO_MPLS, opt, &rel_type, &rel_code,
> >  			  &rel_msg, &rel_info, offset);

You should re-align continuation lines when you move the opening
bracket.

> > -	return err;
> >  }
Re: [PATCH] net/ipv6: remove redundant err variable
Posted by cgel.zte@gmail.com 4 years, 5 months ago
In the bot, I wrote a coccinelle rule myself to search for such problems,
maybe use the rules to scan before submitting the patch.
Re: [PATCH] net/ipv6: remove redundant err variable
Posted by Jakub Kicinski 4 years, 5 months ago
On Wed, 19 Jan 2022 03:00:03 +0000 cgel.zte@gmail.com wrote:
> In the bot, I wrote a coccinelle rule myself to search for such problems,
> maybe use the rules to scan before submitting the patch.

Is it

scripts/coccinelle/misc/returnvar.cocci

? 

How many of such patches do you have pending?
Re: [PATCH] net/ipv6: remove redundant err variable
Posted by cgel.zte@gmail.com 4 years, 5 months ago
There are more than 3,000 numbers retrieved by the rules I wrote.
Of course, many of these 3,000 are false positives, and maybe 
there are 300 patches.I wrote this rule similar to returnvar.cocci.
Re: [PATCH] net/ipv6: remove redundant err variable
Posted by Jakub Kicinski 4 years, 5 months ago
On Wed, 19 Jan 2022 05:55:57 +0000 cgel.zte@gmail.com wrote:
> There are more than 3,000 numbers retrieved by the rules I wrote.
> Of course, many of these 3,000 are false positives, and maybe 
> there are 300 patches.I wrote this rule similar to returnvar.cocci.

Can you start by improving returnvar.cocci so it catches all the cases?
Then make sure your patches build and don't introduce formatting
problems. Then post them.