net/smc: Fix error path in smc_init
authorYueHaibing <yuehaibing@huawei.com>
Wed, 26 Jun 2019 15:47:50 +0000 (17:47 +0200)
committerDavid S. Miller <davem@davemloft.net>
Wed, 26 Jun 2019 17:10:16 +0000 (10:10 -0700)
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@huawei.com>
Signed-off-by: Ursula Braun <ubraun@linux.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/smc/af_smc.c

index 0c874e996f8511ffaa06e84f347329dc2c169b4b..7621ec2f539cf5fe70b6c6edca3b5f0d16a6deee 100644 (file)
@@ -2029,7 +2029,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) {
@@ -2080,6 +2080,9 @@ out_proto:
        proto_unregister(&smc_proto);
 out_pnet:
        smc_pnet_exit();
+out_pernet_subsys:
+       unregister_pernet_subsys(&smc_net_ops);
+
        return rc;
 }