2021-05-19 16:26:31

by Wu Bo

[permalink] [raw]
Subject: [PATCH] nvmet: fix memory leak on nvmet_alloc_ctrl()

From: Wu Bo <[email protected]>

When cntlid_min is greater than cntlid_max,
goto wrong label, should be goto out_free_sqs
label. Otherwise there is a memory leak problem
on the nvmet_alloc_ctrl function().

Fixes: 94a39d61f80f ("nvmet: make ctrl-id configurable")
Fixes: 6d65aeab7bf6e ("nvmet: remove unused ctrl->cqs")
Signed-off-by: Wu Bo <[email protected]>
---
drivers/nvme/target/core.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/nvme/target/core.c b/drivers/nvme/target/core.c
index 25cc2ee8de3f..1853db38b682 100644
--- a/drivers/nvme/target/core.c
+++ b/drivers/nvme/target/core.c
@@ -1372,7 +1372,7 @@ u16 nvmet_alloc_ctrl(const char *subsysnqn, const char *hostnqn,
goto out_free_changed_ns_list;

if (subsys->cntlid_min > subsys->cntlid_max)
- goto out_free_changed_ns_list;
+ goto out_free_sqs;

ret = ida_simple_get(&cntlid_ida,
subsys->cntlid_min, subsys->cntlid_max,
--
2.30.0



2021-05-19 18:34:19

by Chaitanya Kulkarni

[permalink] [raw]
Subject: Re: [PATCH] nvmet: fix memory leak on nvmet_alloc_ctrl()

On 5/18/21 01:21, Wu Bo wrote:
> From: Wu Bo <[email protected]>
>
> When cntlid_min is greater than cntlid_max,
> goto wrong label, should be goto out_free_sqs
> label. Otherwise there is a memory leak problem
> on the nvmet_alloc_ctrl function().
>
> Fixes: 94a39d61f80f ("nvmet: make ctrl-id configurable")
> Fixes: 6d65aeab7bf6e ("nvmet: remove unused ctrl->cqs")
> Signed-off-by: Wu Bo <[email protected]>
> ---

Looks good, except commit message could be better :-

When cntlid_min is greater than cntlid_max, goto wrong label, should be
goto out_free_sqs label. Otherwise there is a memory leak problem on the
nvmet_alloc_ctrl function().

Fixes: 94a39d61f80f ("nvmet: make ctrl-id configurable")
Fixes: 6d65aeab7bf6 ("nvmet: remove unused ctrl->cqs")
Signed-off-by: Wu Bo <[email protected]>


with above :-

Reviewed-by: Chaitanya Kulkarni <[email protected]>



2021-05-19 19:11:03

by Wu Bo

[permalink] [raw]
Subject: Re: [PATCH] nvmet: fix memory leak on nvmet_alloc_ctrl()

On 2021/5/19 4:27, Chaitanya Kulkarni wrote:
> On 5/18/21 01:21, Wu Bo wrote:
>> From: Wu Bo <[email protected]>
>>
>> When cntlid_min is greater than cntlid_max,
>> goto wrong label, should be goto out_free_sqs
>> label. Otherwise there is a memory leak problem
>> on the nvmet_alloc_ctrl function().
>>
>> Fixes: 94a39d61f80f ("nvmet: make ctrl-id configurable")
>> Fixes: 6d65aeab7bf6e ("nvmet: remove unused ctrl->cqs")
>> Signed-off-by: Wu Bo <[email protected]>
>> ---
>
> Looks good, except commit message could be better :-
>
> When cntlid_min is greater than cntlid_max, goto wrong label, should be
> goto out_free_sqs label. Otherwise there is a memory leak problem on the
> nvmet_alloc_ctrl function().
>
> Fixes: 94a39d61f80f ("nvmet: make ctrl-id configurable")
> Fixes: 6d65aeab7bf6 ("nvmet: remove unused ctrl->cqs")
> Signed-off-by: Wu Bo <[email protected]>
>
>
> with above :-

Thanks for your review. I will make the commit message better.
and I found the nvmet-loop has a similar issue,
will send patch series soon.

Thanks,
Wu Bo
>
> Reviewed-by: Chaitanya Kulkarni <[email protected]>
>
>
> .
>