diff options
author | stephen hemminger | 2017-07-19 20:53:17 +0200 |
---|---|---|
committer | David S. Miller | 2017-07-20 07:20:05 +0200 |
commit | 2a926f791211b40ba114f45e0e7bfefd2fac5d30 (patch) | |
tree | 3cd3b15122daed0f09c4cbb410d580e7f1a34b6b /drivers/net/hyperv/netvsc_drv.c | |
parent | netvsc: use ERR_PTR to avoid dereference issues (diff) | |
download | kernel-qcow2-linux-2a926f791211b40ba114f45e0e7bfefd2fac5d30.tar.gz kernel-qcow2-linux-2a926f791211b40ba114f45e0e7bfefd2fac5d30.tar.xz kernel-qcow2-linux-2a926f791211b40ba114f45e0e7bfefd2fac5d30.zip |
netvsc: need rcu_derefence when accessing internal device info
The netvsc_device structure should be accessed by rcu_dereference
in the send path. Change arguments to netvsc_send() to make
this easier to do correctly.
Remove no longer needed hv_device_to_netvsc_device.
Signed-off-by: Stephen Hemminger <sthemmin@microsoft.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/hyperv/netvsc_drv.c')
-rw-r--r-- | drivers/net/hyperv/netvsc_drv.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/hyperv/netvsc_drv.c b/drivers/net/hyperv/netvsc_drv.c index 0ca8c74143b4..1238600d717e 100644 --- a/drivers/net/hyperv/netvsc_drv.c +++ b/drivers/net/hyperv/netvsc_drv.c @@ -505,8 +505,8 @@ static int netvsc_start_xmit(struct sk_buff *skb, struct net_device *net) /* timestamp packet in software */ skb_tx_timestamp(skb); - ret = netvsc_send(net_device_ctx->device_ctx, packet, - rndis_msg, &pb, skb); + + ret = netvsc_send(net_device_ctx, packet, rndis_msg, &pb, skb); if (likely(ret == 0)) return NETDEV_TX_OK; |