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: 46b4f7f5d1
("netvsc: eliminate per-device outstanding send counter")
Signed-off-by: Stephen Hemminger <sthemmin@microsoft.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
d12c917691
commit
e14b4db7a5
|
@ -1231,8 +1231,11 @@ void netvsc_channel_cb(void *context)
|
|||
return;
|
||||
|
||||
net_device = net_device_to_netvsc_device(ndev);
|
||||
if (unlikely(net_device->destroy) &&
|
||||
netvsc_channel_idle(net_device, q_idx))
|
||||
if (unlikely(!net_device))
|
||||
return;
|
||||
|
||||
if (unlikely(net_device->destroy &&
|
||||
netvsc_channel_idle(net_device, q_idx)))
|
||||
return;
|
||||
|
||||
/* commit_rd_index() -> hv_signal_on_read() needs this. */
|
||||
|
|
Loading…
Reference in a new issue