Message ID | 1358237650-15953-1-git-send-email-sakiwit@gmail.com |
---|---|
State | Rejected, archived |
Delegated to: | David Miller |
Headers | show |
From: Jean Sacren <sakiwit@gmail.com> Date: Tue, 15 Jan 2013 01:14:10 -0700 > It's a bit confusing to set 'err' variable inside and outside of the > block for the return value of ipip_err(). We don't even need this > variable, so clean it all up to spare declaration as well as bunch of > unnecessary initializations and jumps. > > Signed-off-by: Jean Sacren <sakiwit@gmail.com> It makes the non-error path straight line code. The code as-is is fine, and I'm not applying this patch, sorry. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
From: David Miller <davem@davemloft.net> Date: Tue, 15 Jan 2013 03:20:08 -0500 > > From: Jean Sacren <sakiwit@gmail.com> > Date: Tue, 15 Jan 2013 01:14:10 -0700 > > > It's a bit confusing to set 'err' variable inside and outside of the > > block for the return value of ipip_err(). We don't even need this > > variable, so clean it all up to spare declaration as well as bunch of > > unnecessary initializations and jumps. > > > > Signed-off-by: Jean Sacren <sakiwit@gmail.com> > > It makes the non-error path straight line code. I thought about the error path, but I realized the error handling code couldn't be simpler. There is only one error, namely ENOENT, which warrants no error path. As 'err' variable was used, you were forced to reset it to zero seven months ago. Again you were forced to reset it to zero six months ago. As you were doubly forced, finally I came up with this idea of getting rid of the unnecessary variable. Also the error handling in the patch is consistent with the way earlier portion of the function definition does. > The code as-is is fine, and I'm not applying this patch, sorry. Thank you for reviewing. This is a rather trivial patch. If patches like this one are not compelling enough for acceptance, that's fair enough.
diff --git a/net/ipv4/ipip.c b/net/ipv4/ipip.c index 191fc24..d604824 100644 --- a/net/ipv4/ipip.c +++ b/net/ipv4/ipip.c @@ -343,7 +343,6 @@ static int ipip_err(struct sk_buff *skb, u32 info) const int type = icmp_hdr(skb)->type; const int code = icmp_hdr(skb)->code; struct ip_tunnel *t; - int err; switch (type) { default: @@ -372,40 +371,35 @@ static int ipip_err(struct sk_buff *skb, u32 info) break; } - err = -ENOENT; t = ipip_tunnel_lookup(dev_net(skb->dev), iph->daddr, iph->saddr); if (t == NULL) - goto out; + return -ENOENT; if (type == ICMP_DEST_UNREACH && code == ICMP_FRAG_NEEDED) { ipv4_update_pmtu(skb, dev_net(skb->dev), info, t->dev->ifindex, 0, IPPROTO_IPIP, 0); - err = 0; - goto out; + return 0; } if (type == ICMP_REDIRECT) { ipv4_redirect(skb, dev_net(skb->dev), t->dev->ifindex, 0, IPPROTO_IPIP, 0); - err = 0; - goto out; + return 0; } if (t->parms.iph.daddr == 0) - goto out; + return -ENOENT; - err = 0; if (t->parms.iph.ttl == 0 && type == ICMP_TIME_EXCEEDED) - goto out; + return 0; if (time_before(jiffies, t->err_time + IPTUNNEL_ERR_TIMEO)) t->err_count++; else t->err_count = 1; - t->err_time = jiffies; -out: - return err; + t->err_time = jiffies; + return 0; } static int ipip_rcv(struct sk_buff *skb)
It's a bit confusing to set 'err' variable inside and outside of the block for the return value of ipip_err(). We don't even need this variable, so clean it all up to spare declaration as well as bunch of unnecessary initializations and jumps. Signed-off-by: Jean Sacren <sakiwit@gmail.com> --- net/ipv4/ipip.c | 20 +++++++------------- 1 files changed, 7 insertions(+), 13 deletions(-) -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html