Re: [PATCH net 3/5] sunvnet: use icmp_ndo_send helper

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



From: "Jason A. Donenfeld" <Jason@xxxxxxxxx>
Date: Sun,  9 Feb 2020 15:31:41 +0100

> Because sunvnet is calling icmp from network device context, it should use
> the ndo helper so that the rate limiting applies correctly.
> 
> Signed-off-by: Jason A. Donenfeld <Jason@xxxxxxxxx>

Two things, first you should resubmit this patch series with a proper
header [PATCH 0/N ... ] posting.

Second:

> @@ -1363,14 +1363,14 @@ sunvnet_start_xmit_common(struct sk_buff *skb, struct net_device *dev,
>  			rt = ip_route_output_key(dev_net(dev), &fl4);
>  			if (!IS_ERR(rt)) {
>  				skb_dst_set(skb, &rt->dst);
> -				icmp_send(skb, ICMP_DEST_UNREACH,
> -					  ICMP_FRAG_NEEDED,
> -					  htonl(localmtu));
> +				icmp_ndo_send(skb, ICMP_DEST_UNREACH,
> +					      ICMP_FRAG_NEEDED,
> +					      htonl(localmtu));
>  			}
>  		}

Well, obviously if the saddr could be wrong here then this invalidates
the route lookup done in the lines above your changes.

It looks like this code is just making sure the ICMP path is routable
which is kinda bogus because that is the icmp code's job.  So very
likely the right thing to do is to remove all of that route lookup
and check code entirely.  And that matches what all the other instances
of driver icmp calls in your patces do.



[Index of Archives]     [Netfitler Users]     [Berkeley Packet Filter]     [LARTC]     [Bugtraq]     [Yosemite Forum]

  Powered by Linux