[SRU][Trusty][PATCH 0/2] netvsc: fix incorrect receive checksum offloading
Joseph Salisbury
joseph.salisbury at canonical.com
Thu Dec 8 20:13:05 UTC 2016
BugLink: http://bugs.launchpad.net/bugs/1636656
== SRU Justification ==
The Hyper-V netvsc driver was looking at the incorrect status bits
in the checksum info. It was setting the receive checksum unnecessary
flag based on the IP header checksum being correct. The checksum
flag is skb is about TCP and UDP checksum status. Because of this
bug, any packet received with bad TCP checksum would be passed
up the stack and to the application causing data corruption.
This had a side effect of not doing receive checksum offload
on IPv6. The driver was also also always doing checksum offload
independent of the checksum setting done via ethtool.
The primary patch is mainline commit e52fed7177f74382f742c27de2cc5314790aebb6. It
landed in mainline as of v4.9-rc4. A prereq commit(e3d605ed44) for Trusty is in mainline
as of 3.15-rc1.
This patch is needed in T, V, Y and X. This particular SRU request is
for Trusty only. This patch cherry picks cleanly in Trusty,
but it requires commit e3d605ed44 as a prereq commit, so V, X and Y will be
sent in separate SRU requests.
== Fixes ==
commit e52fed7177f74382f742c27de2cc5314790aebb6
Author: Stephen Hemminger <sthemmin at microsoft.com>
Date: Sun Oct 23 21:32:47 2016 -0700
netvsc: fix incorrect receive checksum offloading
commit e3d605ed441cf4d113f9a1cf9e1b3f7cabe0d781
Author: KY Srinivasan <kys at microsoft.com>
Date: Sat Mar 8 19:23:16 2014 -0800
Drivers: net: hyperv: Enable receive side IP checksum offload
== Test Case ==
A test kernel was built with these patches and tested by the original bug reporter.
The bug reporter states the test kernel resolved the bug.
KY Srinivasan (1):
Drivers: net: hyperv: Enable receive side IP checksum offload
Stephen Hemminger (1):
netvsc: fix incorrect receive checksum offloading
drivers/net/hyperv/hyperv_net.h | 33 ++++++++++++++++++++++++++++++++-
drivers/net/hyperv/netvsc_drv.c | 22 ++++++++++++++++++----
drivers/net/hyperv/rndis_filter.c | 4 +++-
3 files changed, 53 insertions(+), 6 deletions(-)
--
2.7.4
More information about the kernel-team
mailing list