From: Sagi Grimberg Date: Sun, 19 Mar 2017 12:16:05 +0000 (+0200) Subject: nvme-fc: fix module_init (theoretical) error path X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=c0e4a6f5941ec3759fd5c7e58fc5e8b135cfee72;p=GitHub%2FLineageOS%2Fandroid_kernel_motorola_exynos9610.git nvme-fc: 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 Signed-off-by: Jens Axboe --- diff --git a/drivers/nvme/host/fc.c b/drivers/nvme/host/fc.c index 5939a0a4f7a5..af196cac5ebe 100644 --- a/drivers/nvme/host/fc.c +++ b/drivers/nvme/host/fc.c @@ -2546,11 +2546,20 @@ static struct nvmf_transport_ops nvme_fc_transport = { static int __init nvme_fc_init_module(void) { + int ret; + nvme_fc_wq = create_workqueue("nvme_fc_wq"); if (!nvme_fc_wq) return -ENOMEM; - return nvmf_register_transport(&nvme_fc_transport); + ret = nvmf_register_transport(&nvme_fc_transport); + if (ret) + goto err; + + return 0; +err: + destroy_workqueue(nvme_fc_wq); + return ret; } static void __exit nvme_fc_exit_module(void)