Re: [PATCH] fsi: master-ast-cf: Fix memory leak

From: Benjamin Herrenschmidt
Date: Wed Jul 25 2018 - 19:45:48 EST


On Wed, 2018-07-25 at 08:38 -0500, Gustavo A. R. Silva wrote:
> In case memory resources for *fw* were allocated, release them
> before return.
>
> Addresses-Coverity-ID: 1472044 ("Resource leak")
> Fixes: 6a794a27daca ("fsi: master-ast-cf: Add new FSI master using Aspeed ColdFire")
> Signed-off-by: Gustavo A. R. Silva <gustavo@xxxxxxxxxxxxxx>

Thanks Gustavo !

I'll apply before I send my next pull request to Greg !

Cheers,
Ben.

> ---
> drivers/fsi/fsi-master-ast-cf.c | 6 ++++--
> 1 file changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/fsi/fsi-master-ast-cf.c b/drivers/fsi/fsi-master-ast-cf.c
> index c4a3557..e39a4630 100644
> --- a/drivers/fsi/fsi-master-ast-cf.c
> +++ b/drivers/fsi/fsi-master-ast-cf.c
> @@ -861,7 +861,8 @@ static int load_copro_firmware(struct fsi_master_acf *master)
> if (sig != wanted_sig) {
> dev_err(master->dev, "Failed to locate image sig %04x in FW blob\n",
> wanted_sig);
> - return -ENODEV;
> + rc = -ENODEV;
> + goto release_fw;
> }
> if (size > master->cf_mem_size) {
> dev_err(master->dev, "FW size (%zd) bigger than memory reserve (%zd)\n",
> @@ -870,8 +871,9 @@ static int load_copro_firmware(struct fsi_master_acf *master)
> } else {
> memcpy_toio(master->cf_mem, data, size);
> }
> - release_firmware(fw);
>
> +release_fw:
> + release_firmware(fw);
> return rc;
> }
>