hv_netvsc: use RCU to fix concurrent rx and queue changes
authorStephen Hemminger <stephen@networkplumber.org>
Tue, 20 Mar 2018 22:03:03 +0000 (15:03 -0700)
committerDavid S. Miller <davem@davemloft.net>
Thu, 22 Mar 2018 16:45:09 +0000 (12:45 -0400)
commit02400fcee2542ee334a2394e0d9f6efd969fe782
tree2ad599ce6ff91b8f1b298adf73d4fdde29f756af
parent8348e0460ab1473f06c8b824699dd2eed3c1979d
hv_netvsc: use RCU to fix concurrent rx and queue changes

The receive processing may continue to happen while the
internal network device state is in RCU grace period.
The internal RNDIS structure is associated with the
internal netvsc_device structure; both have the same
RCU lifetime.

Defer freeing all associated parts until after grace
period.

Fixes: 0cf737808ae7 ("hv_netvsc: netvsc_teardown_gpadl() split")
Signed-off-by: Stephen Hemminger <sthemmin@microsoft.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/hyperv/netvsc.c
drivers/net/hyperv/rndis_filter.c