]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
gso: fix payload length when gso_size is zero
authorAlexey Kodanev <alexey.kodanev@oracle.com>
Fri, 6 Oct 2017 16:02:35 +0000 (19:02 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 18 Nov 2017 10:30:35 +0000 (11:30 +0100)
commit11ea79dcd807033751ffb2806c03d21b3064aa54
treed9a46c9b59d9a5d6a4e8e3056cdf20a6645becfe
parent73df9233bfda94d30517ab423ca95696c72ff81b
gso: fix payload length when gso_size is zero

[ Upstream commit 3d0241d57c7b25bb75ac9d7a62753642264fdbce ]

When gso_size reset to zero for the tail segment in skb_segment(), later
in ipv6_gso_segment(), __skb_udp_tunnel_segment() and gre_gso_segment()
we will get incorrect results (payload length, pcsum) for that segment.
inet_gso_segment() already has a check for gso_size before calculating
payload.

The issue was found with LTP vxlan & gre tests over ixgbe NIC.

Fixes: 07b26c9454a2 ("gso: Support partial splitting at the frag_list pointer")
Signed-off-by: Alexey Kodanev <alexey.kodanev@oracle.com>
Acked-by: Alexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
net/ipv4/gre_offload.c
net/ipv4/udp_offload.c
net/ipv6/ip6_offload.c