nvme-rdma: fix module_init (theoretical) error path

If nvmf_register_transport happened to fail
(it can't, but theoretically) we leak memory.

Signed-off-by: Sagi Grimberg <sagi@grimberg.me>
Signed-off-by: Jens Axboe <axboe@fb.com>
This commit is contained in:
Sagi Grimberg 2017-03-19 06:21:42 +02:00 committed by Jens Axboe
parent 2ca0786d5a
commit a56c79cfd3

View File

@ -2030,12 +2030,20 @@ static int __init nvme_rdma_init_module(void)
return -ENOMEM;
ret = ib_register_client(&nvme_rdma_ib_client);
if (ret) {
destroy_workqueue(nvme_rdma_wq);
return ret;
}
if (ret)
goto err_destroy_wq;
return nvmf_register_transport(&nvme_rdma_transport);
ret = nvmf_register_transport(&nvme_rdma_transport);
if (ret)
goto err_unreg_client;
return 0;
err_unreg_client:
ib_unregister_client(&nvme_rdma_ib_client);
err_destroy_wq:
destroy_workqueue(nvme_rdma_wq);
return ret;
}
static void __exit nvme_rdma_cleanup_module(void)