[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20160217.102631.728315767953679869.davem@davemloft.net>
Date: Wed, 17 Feb 2016 10:26:31 -0500 (EST)
From: David Miller <davem@...emloft.net>
To: bernie.harris@...iedtelesis.co.nz
Cc: netdev@...r.kernel.org, kuznet@....inr.ac.ru,
stable@...r.kernel.org
Subject: Re: [PATCH] ip6_gre: clear IPCB in ip6gre_xmit2 in case
dst_link_failure called
From: Bernie Harris <bernie.harris@...iedtelesis.co.nz>
Date: Tue, 9 Feb 2016 17:07:54 +1300
> @@ -678,6 +678,7 @@ static netdev_tx_t ip6gre_xmit2(struct sk_buff *skb,
> tunnel->err_time + IP6TUNNEL_ERR_TIMEO)) {
> tunnel->err_count--;
>
> + memset(IPCB(skb), 0, sizeof(*IPCB(skb)));
> dst_link_failure(skb);
> } else
> tunnel->err_count = 0;
> --
> 2.7.1
>
I have a hard time accepting this because I see no other place in ipv6 tunnel
handling where we have to handle this kind of case.
If anything, this code should mimick the code in ip6_udp_tunnel6_xmit_skb()
which clears only the IPCH(skb)->opt field, and does so unconditionally.
If this happens for GRE ipv6 tunnels, it potentially could happen for any
tunnel. Therefore we should apply consistent handling of this problem
to every ipv6 tunnel implementation rather than just one spot.
Thanks.
Powered by blists - more mailing lists