hv_netvsc: Fix race condition on Multi-Send Data field
authorHaiyang Zhang <haiyangz@microsoft.com>
Thu, 10 Dec 2015 20:19:35 +0000 (12:19 -0800)
committerDavid S. Miller <davem@davemloft.net>
Mon, 14 Dec 2015 05:02:06 +0000 (00:02 -0500)
commitcf8190e4c26c8ccf87d80793f8f1f7fe150cdf8c
treeffe1bc8b5f456c63a1e1dc4a2c8e9660353451f2
parentabe492b4f50c3ae2ebcfaa2f5c16176aebaa1c68
hv_netvsc: Fix race condition on Multi-Send Data field

In commit 2a04ae8acb14 ("hv_netvsc: remove locking in netvsc_send()"), the
locking for MSD (Multi-Send Data) field was removed. This could cause a
race condition between RNDIS control messages and data packets processing,
because these two types of traffic are not synchronized.
This patch fixes this issue by sending control messages out directly
without reading MSD field.

Signed-off-by: Haiyang Zhang <haiyangz@microsoft.com>
Reviewed-by: K. Y. Srinivasan <kys@microsoft.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/hyperv/netvsc.c