From: Eli Cooper <elicoo...@gmx.com>
Date: Mon, 24 Oct 2016 23:07:12 +0800

> diff --git a/net/ipv6/ip6_tunnel.c b/net/ipv6/ip6_tunnel.c
> index 202d16a..4110562 100644
> --- a/net/ipv6/ip6_tunnel.c
> +++ b/net/ipv6/ip6_tunnel.c
> @@ -1205,6 +1205,7 @@ ip4ip6_tnl_xmit(struct sk_buff *skb, struct net_device 
> *dev)
>       int err;
>  
>       memset(&(IPCB(skb)->opt), 0, sizeof(IPCB(skb)->opt));
> +     IP6CB(skb)->frag_max_size = 0;
>  
>       tproto = ACCESS_ONCE(t->parms.proto);
>       if (tproto != IPPROTO_IPIP && tproto != 0)

This doesn't look right at all.

Either skb->cb is interpreted as IPCB() past this point, or
it is interpreted as IP6CB().

So pick which structure is used, and simply clear that specific
structure.

Reply via email to