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;
}
--
2.25.1
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
© 2016 - 2025 Red Hat, Inc.