]> git.baikalelectronics.ru Git - kernel.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)
committerDavid S. Miller <davem@davemloft.net>
Sun, 8 Oct 2017 17:12:15 +0000 (10:12 -0700)
commit288e0f5c684cf3c4fc9ac5c624e2e94b5e315e60
tree536ca01291bd131be75fed6742557d1885774622
parentcae6f47548fccb588812aac35071357b9f768937
gso: fix payload length when gso_size is zero

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: 32fc9df3b6ee ("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>
net/ipv4/gre_offload.c
net/ipv4/udp_offload.c
net/ipv6/ip6_offload.c