nvme-fc: fix module_init (theoretical) error path
Subsystems (2)
Sagi Grimberg
maintainerPATCH 3/3 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 <sagi at grimberg.me>
--- drivers/nvme/host/fc.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-)
drivers/nvme/host/fc.c +10 -1
@@ -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)
Signature · 1 line
2.7.4
PATCH 3/3 nvme-fc: fix module_init (theoretical) error path
looks fine
thanks
-- james
Signed-off-by James Smart <james.smart at broadcom.com>
Quoted 34 lines · Sagi Grimberg
If
nvmf_register_transporthappened to fail
(it can't, but theoretically) we leak memory.Signed-off-by Sagi Grimberg <sagi at grimberg.me>--- drivers/nvme/host/fc.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-)drivers/nvme/host/fc.c +10
-1@@ -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)
PATCH 3/3 nvme-fc: fix module_init (theoretical) error path
In reply to Sagi GrimbergLooks fine,
Reviewed-by Christoph Hellwig <hch at lst.de>