Commit e14b4db7 authored by stephen hemminger's avatar stephen hemminger Committed by David S. Miller

netvsc: fix race during initialization

When device is being setup on boot, there is a small race where
network device callback is registered, but the netvsc_device pointer
is not set yet.  This can cause a NULL ptr dereference if packet
arrives during this window.

Fixes: 46b4f7f5 ("netvsc: eliminate per-device outstanding send counter")
Signed-off-by: default avatarStephen Hemminger <sthemmin@microsoft.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent d12c9176
...@@ -1231,8 +1231,11 @@ void netvsc_channel_cb(void *context) ...@@ -1231,8 +1231,11 @@ void netvsc_channel_cb(void *context)
return; return;
net_device = net_device_to_netvsc_device(ndev); net_device = net_device_to_netvsc_device(ndev);
if (unlikely(net_device->destroy) && if (unlikely(!net_device))
netvsc_channel_idle(net_device, q_idx)) return;
if (unlikely(net_device->destroy &&
netvsc_channel_idle(net_device, q_idx)))
return; return;
/* commit_rd_index() -> hv_signal_on_read() needs this. */ /* commit_rd_index() -> hv_signal_on_read() needs this. */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment