linux-stable/drivers/net/hyperv
Shradha Gupta 5b10a88f64 hv_netvsc: Register VF in netvsc_probe if NET_DEVICE_REGISTER missed
[ Upstream commit 9cae43da98 ]

If hv_netvsc driver is unloaded and reloaded, the NET_DEVICE_REGISTER
handler cannot perform VF register successfully as the register call
is received before netvsc_probe is finished. This is because we
register register_netdevice_notifier() very early( even before
vmbus_driver_register()).
To fix this, we try to register each such matching VF( if it is visible
as a netdevice) at the end of netvsc_probe.

Cc: stable@vger.kernel.org
Fixes: 8552085646 ("hv_netvsc: Fix race of register_netdevice_notifier and VF register")
Suggested-by: Dexuan Cui <decui@microsoft.com>
Signed-off-by: Shradha Gupta <shradhagupta@linux.microsoft.com>
Reviewed-by: Haiyang Zhang <haiyangz@microsoft.com>
Reviewed-by: Dexuan Cui <decui@microsoft.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2024-03-15 10:48:21 -04:00
..
hyperv_net.h hv_netvsc: Use vmbus_requestor to generate transaction IDs for VMBus hardening 2024-03-15 10:48:21 -04:00
Kconfig hv_netvsc: rndis_filter needs to select NLS 2023-12-13 18:26:59 +01:00
Makefile
netvsc.c hv_netvsc: Wait for completion on request SWITCH_DATA_PATH 2024-03-15 10:48:21 -04:00
netvsc_bpf.c
netvsc_drv.c hv_netvsc: Register VF in netvsc_probe if NET_DEVICE_REGISTER missed 2024-03-15 10:48:21 -04:00
netvsc_trace.c
netvsc_trace.h
rndis_filter.c hv_netvsc: Use vmbus_requestor to generate transaction IDs for VMBus hardening 2024-03-15 10:48:21 -04:00