[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20161027.162514.2259363994362412217.davem@davemloft.net>
Date: Thu, 27 Oct 2016 16:25:14 -0400 (EDT)
From: David Miller <davem@...emloft.net>
To: elicooper@....com
Cc: netdev@...r.kernel.org
Subject: Re: [PATCH] ip6_tunnel: Clear IP6CB(skb)->frag_max_size in
ip4ip6_tnl_xmit()
From: Eli Cooper <elicooper@....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.
Powered by blists - more mailing lists