netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Alexander Duyck <alexander.duyck@gmail.com>
To: David Ahern <dsa@cumulusnetworks.com>, netdev@vger.kernel.org
Subject: Re: [PATCH net-next 1/9] net: Remove martian_source_keep_err goto label
Date: Tue, 22 Sep 2015 18:04:07 -0700	[thread overview]
Message-ID: <5601FA87.2080701@gmail.com> (raw)
In-Reply-To: <1442962523-3974-2-git-send-email-dsa@cumulusnetworks.com>

On 09/22/2015 03:55 PM, David Ahern wrote:
> err is initialized to -EINVAL when it is declared. It is not reset until
> fib_lookup which is well after the 3 users of the martian_source jump. So
> resetting err to -EINVAL at martian_source label is not needed.
>
> Removing that line obviates the need for the martian_source_keep_err label
> so delete it.
>
> Signed-off-by: David Ahern <dsa@cumulusnetworks.com>

The comments above and the code below don't sync up.  The function 
fib_validate_source can return either -EINVAL, -EXDEV, 0, or 1.  The 
fact is this may be acceptable as long as all callers of 
ip_route_input_slow will handle a non-zero value as an error and it 
doesn't care about what the actual return value is.  If that is what you 
are going for here at least the comment should be updated, and we should 
be explicit somewhere about documenting the return values.

> ---
>   net/ipv4/route.c | 6 ++----
>   1 file changed, 2 insertions(+), 4 deletions(-)
>
> diff --git a/net/ipv4/route.c b/net/ipv4/route.c
> index 80f7c5b7b832..ef36dfed24da 100644
> --- a/net/ipv4/route.c
> +++ b/net/ipv4/route.c
> @@ -1760,7 +1760,7 @@ static int ip_route_input_slow(struct sk_buff *skb, __be32 daddr, __be32 saddr,
>   		err = fib_validate_source(skb, saddr, daddr, tos,
>   					  0, dev, in_dev, &itag);
>   		if (err < 0)
> -			goto martian_source_keep_err;
> +			goto martian_source;
>   		goto local_input;
>   	}
>
> @@ -1782,7 +1782,7 @@ out:	return err;
>   		err = fib_validate_source(skb, saddr, 0, tos, 0, dev,
>   					  in_dev, &itag);
>   		if (err < 0)
> -			goto martian_source_keep_err;
> +			goto martian_source;
>   	}
>   	flags |= RTCF_BROADCAST;
>   	res.type = RTN_BROADCAST;
> @@ -1858,8 +1858,6 @@ out:	return err;
>   	goto out;
>
>   martian_source:
> -	err = -EINVAL;
> -martian_source_keep_err:
>   	ip_handle_martian_source(dev, in_dev, skb, daddr, saddr);
>   	goto out;
>   }
>

  reply	other threads:[~2015-09-23  1:04 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-09-22 22:55 [PATCH net-next 0/9] net: Refactor ip_route_input_slow David Ahern
2015-09-22 22:55 ` [PATCH net-next 1/9] net: Remove martian_source_keep_err goto label David Ahern
2015-09-23  1:04   ` Alexander Duyck [this message]
2015-09-23  1:39     ` Alexander Duyck
2015-09-22 22:55 ` [PATCH net-next 2/9] net: Remove e_inval label from ip_route_input_slow David Ahern
2015-09-22 22:55 ` [PATCH net-next 3/9] net: Remove e_nobufs " David Ahern
2015-09-23  2:15   ` Eric W. Biederman
2015-09-23  3:04     ` David Ahern
2015-09-24 10:53     ` David Laight
2015-09-22 22:55 ` [PATCH net-next 4/9] net: Move rth handling from ip_route_input_slow to helper David Ahern
2015-09-23  2:33   ` Alexander Duyck
2015-09-23  3:07     ` David Ahern
2015-09-22 22:55 ` [PATCH net-next 5/9] net: Move martian_destination " David Ahern
2015-09-22 22:55 ` [PATCH net-next 6/9] net: Remove martian_source goto David Ahern
2015-09-22 22:55 ` [PATCH net-next 7/9] net: Remove martian_destination label David Ahern
2015-09-22 22:55 ` [PATCH net-next 8/9] net: Remove local_input label David Ahern
2015-09-22 22:55 ` [PATCH net-next 9/9] net: Remove no_route label David Ahern
2015-09-23  5:51 ` [PATCH net-next 0/9] net: Refactor ip_route_input_slow Alexander Duyck
2015-09-23 14:03   ` David Ahern
  -- strict thread matches above, loose matches on Subject: below --
2015-09-23 15:15 [PATCH net-next 0/9 v2] " David Ahern
2015-09-23 15:15 ` [PATCH net-next 1/9] net: Remove martian_source_keep_err goto label David Ahern
2015-09-23 16:19   ` Tom Herbert
2015-09-23 16:22     ` David Ahern

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=5601FA87.2080701@gmail.com \
    --to=alexander.duyck@gmail.com \
    --cc=dsa@cumulusnetworks.com \
    --cc=netdev@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).