[Hyper-V] netvsc: fix incorrect receive checksum offloading
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux (Ubuntu) |
Fix Released
|
Medium
|
Unassigned | ||
Xenial |
Fix Released
|
Medium
|
Unassigned | ||
Yakkety |
Fix Released
|
Medium
|
Unassigned |
Bug Description
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.
The problem is reproducible via netcat and netem.
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.
Signed-off-by: Stephen Hemminger <email address hidden>
https:/
When this patch is committed I will include the commit ID in this bug.
tags: | added: patch |
Changed in linux (Ubuntu): | |
status: | Incomplete → Confirmed |
Changed in linux (Ubuntu): | |
importance: | Undecided → Medium |
status: | Confirmed → Triaged |
Changed in linux (Ubuntu Yakkety): | |
status: | New → Triaged |
no longer affects: | linux (Ubuntu Zesty) |
Changed in linux (Ubuntu Xenial): | |
status: | New → Triaged |
Changed in linux (Ubuntu Vivid): | |
status: | New → Triaged |
Changed in linux (Ubuntu Trusty): | |
status: | New → Triaged |
Changed in linux (Ubuntu Precise): | |
status: | New → Triaged |
importance: | Undecided → Medium |
Changed in linux (Ubuntu Trusty): | |
importance: | Undecided → Medium |
Changed in linux (Ubuntu Vivid): | |
importance: | Undecided → Medium |
Changed in linux (Ubuntu Xenial): | |
importance: | Undecided → Medium |
Changed in linux (Ubuntu Yakkety): | |
importance: | Undecided → Medium |
tags: | added: kernel-da-key kernel-hyper-v |
tags: | added: bot-stop-nagging precise trusty vivid xenial yakkety |
Changed in linux (Ubuntu): | |
assignee: | nobody → Joseph Salisbury (jsalisbury) |
Changed in linux (Ubuntu Precise): | |
assignee: | nobody → Joseph Salisbury (jsalisbury) |
Changed in linux (Ubuntu Trusty): | |
assignee: | nobody → Joseph Salisbury (jsalisbury) |
Changed in linux (Ubuntu Vivid): | |
assignee: | nobody → Joseph Salisbury (jsalisbury) |
Changed in linux (Ubuntu Xenial): | |
assignee: | nobody → Joseph Salisbury (jsalisbury) |
Changed in linux (Ubuntu Yakkety): | |
assignee: | nobody → Joseph Salisbury (jsalisbury) |
Changed in linux (Ubuntu): | |
status: | Triaged → In Progress |
Changed in linux (Ubuntu Precise): | |
status: | Triaged → In Progress |
Changed in linux (Ubuntu Xenial): | |
status: | Triaged → In Progress |
Changed in linux (Ubuntu Trusty): | |
status: | Triaged → In Progress |
Changed in linux (Ubuntu Yakkety): | |
status: | Triaged → In Progress |
Changed in linux (Ubuntu Vivid): | |
status: | Triaged → In Progress |
no longer affects: | linux (Ubuntu Precise) |
Changed in linux (Ubuntu Yakkety): | |
status: | In Progress → Fix Committed |
Changed in linux (Ubuntu Xenial): | |
status: | In Progress → Fix Committed |
Changed in linux (Ubuntu Vivid): | |
status: | In Progress → Fix Committed |
tags: |
added: verification-done-vivid verification-done-xenial removed: verification-needed-vivid verification-needed-xenial |
Changed in linux (Ubuntu Yakkety): | |
status: | Fix Committed → Fix Released |
Changed in linux (Ubuntu): | |
status: | In Progress → Fix Released |
This affects 16.10, 16.04, 14.04, and 12.04. Please update the ongoing HWE kernels.