Message ID | 20221124070917.38825-1-yuancan@huawei.com (mailing list archive) |
---|---|
State | Accepted |
Commit | b8f79dccd38edf7db4911c353d9cd792ab13a327 |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | net: net_netdev: Fix error handling in ntb_netdev_init_module() | expand |
Hello: This patch was applied to netdev/net.git (master) by David S. Miller <davem@davemloft.net>: On Thu, 24 Nov 2022 07:09:17 +0000 you wrote: > The ntb_netdev_init_module() returns the ntb_transport_register_client() > directly without checking its return value, if > ntb_transport_register_client() failed, the NTB client device is not > unregistered. > > Fix by unregister NTB client device when ntb_transport_register_client() > failed. > > [...] Here is the summary with links: - net: net_netdev: Fix error handling in ntb_netdev_init_module() https://git.kernel.org/netdev/net/c/b8f79dccd38e You are awesome, thank you!
On 11/24/2022 12:09 AM, Yuan Can wrote: > The ntb_netdev_init_module() returns the ntb_transport_register_client() > directly without checking its return value, if > ntb_transport_register_client() failed, the NTB client device is not > unregistered. > > Fix by unregister NTB client device when ntb_transport_register_client() > failed. > > Fixes: 548c237c0a99 ("net: Add support for NTB virtual ethernet device") > Signed-off-by: Yuan Can <yuancan@huawei.com> Reviewed-by: Dave Jiang <dave.jiang@intel.com> > --- > drivers/net/ntb_netdev.c | 9 ++++++++- > 1 file changed, 8 insertions(+), 1 deletion(-) > > diff --git a/drivers/net/ntb_netdev.c b/drivers/net/ntb_netdev.c > index 464d88ca8ab0..a4abea921046 100644 > --- a/drivers/net/ntb_netdev.c > +++ b/drivers/net/ntb_netdev.c > @@ -484,7 +484,14 @@ static int __init ntb_netdev_init_module(void) > rc = ntb_transport_register_client_dev(KBUILD_MODNAME); > if (rc) > return rc; > - return ntb_transport_register_client(&ntb_netdev_client); > + > + rc = ntb_transport_register_client(&ntb_netdev_client); > + if (rc) { > + ntb_transport_unregister_client_dev(KBUILD_MODNAME); > + return rc; > + } > + > + return 0; > } > module_init(ntb_netdev_init_module); >
diff --git a/drivers/net/ntb_netdev.c b/drivers/net/ntb_netdev.c index 464d88ca8ab0..a4abea921046 100644 --- a/drivers/net/ntb_netdev.c +++ b/drivers/net/ntb_netdev.c @@ -484,7 +484,14 @@ static int __init ntb_netdev_init_module(void) rc = ntb_transport_register_client_dev(KBUILD_MODNAME); if (rc) return rc; - return ntb_transport_register_client(&ntb_netdev_client); + + rc = ntb_transport_register_client(&ntb_netdev_client); + if (rc) { + ntb_transport_unregister_client_dev(KBUILD_MODNAME); + return rc; + } + + return 0; } module_init(ntb_netdev_init_module);
The ntb_netdev_init_module() returns the ntb_transport_register_client() directly without checking its return value, if ntb_transport_register_client() failed, the NTB client device is not unregistered. Fix by unregister NTB client device when ntb_transport_register_client() failed. Fixes: 548c237c0a99 ("net: Add support for NTB virtual ethernet device") Signed-off-by: Yuan Can <yuancan@huawei.com> --- drivers/net/ntb_netdev.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-)