Skip to content

Commit

Permalink
lightnvm: pblk: fix resource leak of invalid_bitmap
Browse files Browse the repository at this point in the history
Currently the error exit path when the emeta could not be
interpreted is via fail_free_ws and this fails to free
invalid_bitmap.  Fix this by adding another exit label and
exiting via this to kfree invalid_bitmap.

Detected by CoverityScan, CID#1469659 ("Resource leak")

Fixes: 48b8d20 ("lightnvm: pblk: garbage collect lines with failed writes")
Signed-off-by: Colin Ian King <[email protected]>
Signed-off-by: Jens Axboe <[email protected]>
  • Loading branch information
Colin Ian King authored and axboe committed Jun 5, 2018
1 parent 21ff139 commit 0ec6937
Showing 1 changed file with 2 additions and 1 deletion.
3 changes: 2 additions & 1 deletion drivers/lightnvm/pblk-gc.c
Original file line number Diff line number Diff line change
Expand Up @@ -203,7 +203,7 @@ static void pblk_gc_line_prepare_ws(struct work_struct *work)
if (!lba_list) {
pr_err("pblk: could not interpret emeta (line %d)\n",
line->id);
goto fail_free_ws;
goto fail_free_invalid_bitmap;
}
}

Expand Down Expand Up @@ -280,6 +280,7 @@ static void pblk_gc_line_prepare_ws(struct work_struct *work)
kfree(gc_rq);
fail_free_lba_list:
pblk_mfree(lba_list, l_mg->emeta_alloc_type);
fail_free_invalid_bitmap:
kfree(invalid_bitmap);
fail_free_ws:
kfree(line_ws);
Expand Down

0 comments on commit 0ec6937

Please sign in to comment.