[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20221124070917.38825-1-yuancan@huawei.com>
Date: Thu, 24 Nov 2022 07:09:17 +0000
From: Yuan Can <yuancan@...wei.com>
To: <jdmason@...zu.us>, <dave.jiang@...el.com>, <allenbh@...il.com>,
<davem@...emloft.net>, <edumazet@...gle.com>, <kuba@...nel.org>,
<pabeni@...hat.com>, <nab@...ux-iscsi.org>,
<gregkh@...uxfoundation.org>, <ntb@...ts.linux.dev>,
<netdev@...r.kernel.org>
CC: <yuancan@...wei.com>
Subject: [PATCH] net: net_netdev: Fix error handling in 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@...wei.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);
--
2.17.1
Powered by blists - more mailing lists