From: Wei Yongjun Date: Tue, 9 Oct 2018 11:12:13 +0000 (+0200) Subject: lightnvm: pblk: fix error handling of pblk_lines_init() X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=a70985f83c625a5eaf618be81621e5e4521a66c6;p=linux.git lightnvm: pblk: fix error handling of pblk_lines_init() In the too many bad blocks error handling case, we should release all the allocated resources, otherwise it will cause memory leak. Fixes: 2deeefc02dff ("lightnvm: pblk: fail gracefully on line alloc. failure") Signed-off-by: Wei Yongjun Reviewed-by: Hans Holmberg Signed-off-by: Matias Bjørling Signed-off-by: Jens Axboe --- diff --git a/drivers/lightnvm/pblk-init.c b/drivers/lightnvm/pblk-init.c index e0db0cb3122df..e3573880dbda0 100644 --- a/drivers/lightnvm/pblk-init.c +++ b/drivers/lightnvm/pblk-init.c @@ -1024,7 +1024,8 @@ static int pblk_lines_init(struct pblk *pblk) if (!nr_free_chks) { pblk_err(pblk, "too many bad blocks prevent for sane instance\n"); - return -EINTR; + ret = -EINTR; + goto fail_free_lines; } pblk_set_provision(pblk, nr_free_chks);