[SRU][Xenial][Yakkety][PATCH 1/1] netvsc: fix incorrect receive checksum offloading

Joseph Salisbury joseph.salisbury at canonical.com
Thu Dec 8 20:04:25 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 patch is mainline commit e52fed7177f74382f742c27de2cc5314790aebb6.  It
landed in mainline as of v4.9-rc4.

This patch is needed in T, V, Y and X.  This particular SRU request is
for Xenial and Yakkety only.  This patch cherry picks cleanly in Vivid, 
but requires a different patch than X and Y due to a context diff.  Trusty
requires a prereq commit, so V and T will be sent in separate SRU requests.

== Fix ==
commit e52fed7177f74382f742c27de2cc5314790aebb6
Author: Stephen Hemminger <sthemmin at microsoft.com>
Date:   Sun Oct 23 21:32:47 2016 -0700

    netvsc: fix incorrect receive checksum offloading

== Test Case ==
A test kernel was built with this patch and tested by the original bug reporter.
The bug reporter states the test kernel resolved the bug.

Stephen Hemminger (1):
  netvsc: fix incorrect receive checksum offloading

 drivers/net/hyperv/netvsc_drv.c | 19 +++++++++++--------
 1 file changed, 11 insertions(+), 8 deletions(-)


More information about the kernel-team mailing list