Skip to content

Commit 51942b7

Browse files
outman119broonie
authored andcommitted
spi: mtk-snfi: fix memory leak in probe
ms->buf is allocated in mtk_snand_setup_pagefmt() but was not freed on the following error paths. Fixes: 2b1e198 ("spi: mtk-snfi: Change default page format to setup default setting") Signed-off-by: Felix Gu <ustc.gu@gmail.com> Link: https://patch.msgid.link/20260416-mtk-snfi-v2-1-3f487689dacb@gmail.com Signed-off-by: Mark Brown <broonie@kernel.org>
1 parent 978df76 commit 51942b7

1 file changed

Lines changed: 5 additions & 3 deletions

File tree

drivers/spi/spi-mtk-snfi.c

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1447,14 +1447,14 @@ static int mtk_snand_probe(struct platform_device *pdev)
14471447
ret = nand_ecc_register_on_host_hw_engine(&ms->ecc_eng);
14481448
if (ret) {
14491449
dev_err(&pdev->dev, "failed to register ecc engine.\n");
1450-
goto release_ecc;
1450+
goto free_buf;
14511451
}
14521452

14531453
ret = devm_add_action_or_reset(&pdev->dev, mtk_unregister_ecc_engine,
14541454
&ms->ecc_eng);
14551455
if (ret) {
14561456
dev_err_probe(&pdev->dev, ret, "failed to add ECC unregister action\n");
1457-
goto release_ecc;
1457+
goto free_buf;
14581458
}
14591459

14601460
ctlr->num_chipselect = 1;
@@ -1465,10 +1465,12 @@ static int mtk_snand_probe(struct platform_device *pdev)
14651465
ret = spi_register_controller(ctlr);
14661466
if (ret) {
14671467
dev_err(&pdev->dev, "spi_register_controller failed.\n");
1468-
goto release_ecc;
1468+
goto free_buf;
14691469
}
14701470

14711471
return 0;
1472+
free_buf:
1473+
kfree(ms->buf);
14721474
release_ecc:
14731475
mtk_ecc_release(ms->ecc);
14741476
return ret;

0 commit comments

Comments
 (0)