Re: [PATCH] lightnvm: fix memory leak in pblk_luns_init

From: Matias BjÃrling
Date: Fri Feb 23 2018 - 01:12:37 EST


On 02/23/2018 12:03 AM, Huaicheng Li wrote:
Please ignore my previous email as I found the memory is free'ed at
pblk_init()'s error handling logic.
Sorry for the interruption.

On Thu, Feb 22, 2018 at 3:01 PM, Huaicheng Li <huaicheng@xxxxxxxxxxxxxxx>
wrote:

Signed-off-by: Huaicheng Li <huaicheng@xxxxxxxxxxxxxxx>
---
drivers/lightnvm/pblk-init.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/lightnvm/pblk-init.c b/drivers/lightnvm/pblk-init.c
index 93d671ca518e..330665d91d8d 100644
--- a/drivers/lightnvm/pblk-init.c
+++ b/drivers/lightnvm/pblk-init.c
@@ -510,6 +510,7 @@ static int pblk_luns_init(struct pblk *pblk, struct
ppa_addr *luns)
if (ret) {
while (--i >= 0)
kfree(pblk->luns[i].bb_list);
+ kfree(pblk->luns);
return ret;
}
}
--
2.13.6




No worries. The initialization part is pretty complex due to all the data structures being set up. I would love to have a clean initialization function, which cleans up after it self. But being able to share the "fail" bringup and tear-down code is very helpful and makes other parts easier.