mtd: nand: don't leak buffers when ->scan_bbt() fails

This bug seems to have been here forever, although we came close to
fixing all of them in [1]!

[1] 11eaf6df1c ("mtd: nand: Remove BUG() abuse in nand_scan_tail")

Signed-off-by: Brian Norris <computersforpeace@gmail.com>
Acked-by: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>
Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com>
This commit is contained in:
Brian Norris 2017-05-01 17:04:50 -07:00 committed by Boris Brezillon
parent 08332893e3
commit 44d4182e23
1 changed files with 5 additions and 1 deletions

View File

@ -4842,7 +4842,11 @@ int nand_scan_tail(struct mtd_info *mtd)
return 0;
/* Build bad block table */
return chip->scan_bbt(mtd);
ret = chip->scan_bbt(mtd);
if (ret)
goto err_free;
return 0;
err_free:
if (nbuf) {
kfree(nbuf->databuf);