Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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
Loading
Loading
Loading
Loading
+5 −2
Original line number Diff line number Diff line
@@ -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. */