]> git.baikalelectronics.ru Git - kernel.git/commit
xen-netback: make sure skb linear area covers checksum field
authorPaul Durrant <Paul.Durrant@citrix.com>
Wed, 11 Dec 2013 16:37:40 +0000 (16:37 +0000)
committerDavid S. Miller <davem@davemloft.net>
Wed, 11 Dec 2013 21:46:24 +0000 (16:46 -0500)
commit659fcc8df9bc87ef235e58e90250d777a7289732
tree7f8e6d1ee20d74baa55d354e1e218feac10b1d5e
parentc68bf98f3b4d8c7b2dd4b79f670aaa342857d71c
xen-netback: make sure skb linear area covers checksum field

skb_partial_csum_set requires that the linear area of the skb covers the
checksum field. The checksum setup code in netback was only doing that
pullup in the case when the pseudo header checksum was being recalculated
though. This patch makes that pullup unconditional. (I pullup the whole
transport header just for simplicity; the requirement is only for the check
field but in the case of UDP this is the last field in the header and in the
case of TCP it's the last but one).

The lack of pullup manifested as failures running Microsoft HCK network
tests on a pair of Windows 8 VMs and it has been verified that this patch
fixes the problem.

Suggested-by: Jan Beulich <jbeulich@suse.com>
Signed-off-by: Paul Durrant <paul.durrant@citrix.com>
Cc: Wei Liu <wei.liu2@citrix.com>
Cc: Ian Campbell <ian.campbell@citrix.com>
Cc: David Vrabel <david.vrabel@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/xen-netback/netback.c