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:
parent
2ca0786d5a
commit
a56c79cfd3
@ -2030,12 +2030,20 @@ static int __init nvme_rdma_init_module(void)
|
|||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
|
|
||||||
ret = ib_register_client(&nvme_rdma_ib_client);
|
ret = ib_register_client(&nvme_rdma_ib_client);
|
||||||
if (ret) {
|
if (ret)
|
||||||
destroy_workqueue(nvme_rdma_wq);
|
goto err_destroy_wq;
|
||||||
return ret;
|
|
||||||
}
|
|
||||||
|
|
||||||
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)
|
static void __exit nvme_rdma_cleanup_module(void)
|
||||||
|
Loading…
Reference in New Issue
Block a user