[PATCH] net/smc: Fix error path in smc_init

From: YueHaibing
Date: Tue May 14 2019 - 02:41:30 EST


If register_pernet_subsys success in smc_init,
we should cleanup it in case any other error.

Fixes: 64e28b52c7a6 (net/smc: add pnet table namespace support")
Signed-off-by: YueHaibing <yuehaibing@xxxxxxxxxx>
---
net/smc/af_smc.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/net/smc/af_smc.c b/net/smc/af_smc.c
index 6f869ef..7d3207f 100644
--- a/net/smc/af_smc.c
+++ b/net/smc/af_smc.c
@@ -2019,7 +2019,7 @@ static int __init smc_init(void)

rc = smc_pnet_init();
if (rc)
- return rc;
+ goto out_pernet_subsys;

rc = smc_llc_init();
if (rc) {
@@ -2070,6 +2070,9 @@ static int __init smc_init(void)
proto_unregister(&smc_proto);
out_pnet:
smc_pnet_exit();
+out_pernet_subsys:
+ unregister_pernet_subsys(&smc_net_ops);
+
return rc;
}

--
1.8.3.1