[PATCH net-next 3/4] hv_netvsc: reset net_device_ctx->nvdev with rcu_assign_pointer()

From: Vitaly Kuznetsov
Date: Tue Oct 31 2017 - 09:44:33 EST


RCU_INIT_POINTER() is not suitable here as it doesn't give us ordering
guarantees (see the comment in rcupdate.h). This is also not a hotpath.

Signed-off-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx>
---
drivers/net/hyperv/netvsc.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/net/hyperv/netvsc.c b/drivers/net/hyperv/netvsc.c
index bfc79698b8f4..12efb3e34775 100644
--- a/drivers/net/hyperv/netvsc.c
+++ b/drivers/net/hyperv/netvsc.c
@@ -560,7 +560,7 @@ void netvsc_device_remove(struct hv_device *device)

netvsc_revoke_buf(device, net_device);

- RCU_INIT_POINTER(net_device_ctx->nvdev, NULL);
+ rcu_assign_pointer(net_device_ctx->nvdev, NULL);

/*
* At this point, no one should be accessing net_device
--
2.13.6