If VF NIC is registered earlier, NETDEV_REGISTER event is replayed, but NETDEV_POST_INIT is not.
Move register_netdevice_notifier() earlier, so the call back function is set before probing.
Cc: stable@vger.kernel.org Fixes: e04e7a7bbd4b ("hv_netvsc: Fix a deadlock by getting rtnl lock earlier in netvsc_probe()") Signed-off-by: Haiyang Zhang haiyangz@microsoft.com Reviewed-by: Wojciech Drewek wojciech.drewek@intel.com
--- v3: Divide it into two patches, suggested by Jakub Kicinski.
v2: Fix rtnl_unlock() in error handling as found by Wojciech Drewek. --- drivers/net/hyperv/netvsc_drv.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/drivers/net/hyperv/netvsc_drv.c b/drivers/net/hyperv/netvsc_drv.c index 5e528a76f5f5..1d1491da303b 100644 --- a/drivers/net/hyperv/netvsc_drv.c +++ b/drivers/net/hyperv/netvsc_drv.c @@ -2793,11 +2793,14 @@ static int __init netvsc_drv_init(void) } netvsc_ring_bytes = ring_size * PAGE_SIZE;
+ register_netdevice_notifier(&netvsc_netdev_notifier); + ret = vmbus_driver_register(&netvsc_drv); - if (ret) + if (ret) { + unregister_netdevice_notifier(&netvsc_netdev_notifier); return ret; + }
- register_netdevice_notifier(&netvsc_netdev_notifier); return 0; }
On Tue, 7 Nov 2023 13:05:32 -0800 Haiyang Zhang wrote:
If VF NIC is registered earlier, NETDEV_REGISTER event is replayed, but NETDEV_POST_INIT is not.
But Long Li sent the patch which starts to use POST_INIT against the net-next tree. If we apply this to net and Long Li's patch to net-next one release will have half of the fixes.
I think that you should add Long Li's patch to this series. That'd limit the confusion and git preserves authorship of the changes, so neither of you will loose the credit.
-----Original Message----- From: Jakub Kicinski kuba@kernel.org Sent: Wednesday, November 8, 2023 9:26 PM To: Haiyang Zhang haiyangz@microsoft.com Cc: linux-hyperv@vger.kernel.org; netdev@vger.kernel.org; KY Srinivasan kys@microsoft.com; wei.liu@kernel.org; Dexuan Cui decui@microsoft.com; edumazet@google.com; pabeni@redhat.com; davem@davemloft.net; linux-kernel@vger.kernel.org; stable@vger.kernel.org Subject: Re: [PATCH net,v3, 2/2] hv_netvsc: Fix race of register_netdevice_notifier and VF register
On Tue, 7 Nov 2023 13:05:32 -0800 Haiyang Zhang wrote:
If VF NIC is registered earlier, NETDEV_REGISTER event is replayed, but NETDEV_POST_INIT is not.
But Long Li sent the patch which starts to use POST_INIT against the net-next tree. If we apply this to net and Long Li's patch to net-next one release will have half of the fixes.
I think that you should add Long Li's patch to this series. That'd limit the confusion and git preserves authorship of the changes, so neither of you will loose the credit.
Will do.
Thanks, - Haiyang
linux-stable-mirror@lists.linaro.org