[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <20170918.145204.2146093595696060495.davem@davemloft.net>
Date: Mon, 18 Sep 2017 14:52:04 -0700 (PDT)
From: David Miller <davem@...emloft.net>
To: lucien.xin@...il.com
Cc: netdev@...r.kernel.org, xeb@...l.ru
Subject: Re: [PATCH net] ip6_gre: skb_push ipv6hdr before packing the
header in ip6gre_header
From: Xin Long <lucien.xin@...il.com>
Date: Fri, 15 Sep 2017 12:00:07 +0800
> Now in ip6gre_header before packing the ipv6 header, it skb_push t->hlen
> which only includes encap_hlen + tun_hlen. It means greh and inner header
> would be over written by ipv6 stuff and ipv6h might have no chance to set
> up.
>
> Jianlin found this issue when using remote any on ip6_gre, the packets he
> captured on gre dev are truncated:
>
> 22:50:26.210866 Out ethertype IPv6 (0x86dd), length 120: truncated-ip6 -\
> 8128 bytes missing!(flowlabel 0x92f40, hlim 0, next-header Options (0) \
> payload length: 8192) ::1:2000:0 > ::1:0:86dd: HBH [trunc] ip-proto-128 \
> 8184
>
> It should also skb_push ipv6hdr so that ipv6h points to the right position
> to set ipv6 stuff up.
>
> This patch is to skb_push hlen + sizeof(*ipv6h) and also fix some indents
> in ip6gre_header.
>
> Fixes: c12b395a4664 ("gre: Support GRE over IPv6")
> Reported-by: Jianlin Shi <jishi@...hat.com>
> Signed-off-by: Xin Long <lucien.xin@...il.com>
Yes, this is consistent with how t->hlen is used in the rest of this
tunnel driver.
Applied and queued up for -stable, thanks!
Powered by blists - more mailing lists