Messages in this thread | | | Subject | Re: [PATCH] lightnvm: fix memory leak in pblk_luns_init | From | Matias Bjørling <> | Date | Fri, 23 Feb 2018 07:12:26 +0100 |
| |
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@cs.uchicago.edu> > wrote: > >> Signed-off-by: Huaicheng Li <huaicheng@cs.uchicago.edu> >> --- >> 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.
| |