Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

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: 2b1e19811a8e ("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>

authored by

Felix Gu and committed by
Mark Brown
51942b77 978df761

+5 -3
+5 -3
drivers/spi/spi-mtk-snfi.c
··· 1447 1447 ret = nand_ecc_register_on_host_hw_engine(&ms->ecc_eng); 1448 1448 if (ret) { 1449 1449 dev_err(&pdev->dev, "failed to register ecc engine.\n"); 1450 - goto release_ecc; 1450 + goto free_buf; 1451 1451 } 1452 1452 1453 1453 ret = devm_add_action_or_reset(&pdev->dev, mtk_unregister_ecc_engine, 1454 1454 &ms->ecc_eng); 1455 1455 if (ret) { 1456 1456 dev_err_probe(&pdev->dev, ret, "failed to add ECC unregister action\n"); 1457 - goto release_ecc; 1457 + goto free_buf; 1458 1458 } 1459 1459 1460 1460 ctlr->num_chipselect = 1; ··· 1465 1465 ret = spi_register_controller(ctlr); 1466 1466 if (ret) { 1467 1467 dev_err(&pdev->dev, "spi_register_controller failed.\n"); 1468 - goto release_ecc; 1468 + goto free_buf; 1469 1469 } 1470 1470 1471 1471 return 0; 1472 + free_buf: 1473 + kfree(ms->buf); 1472 1474 release_ecc: 1473 1475 mtk_ecc_release(ms->ecc); 1474 1476 return ret;