All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] fsi: master-ast-cf: Fix memory leak
@ 2018-07-25 13:38 Gustavo A. R. Silva
  2018-07-25 23:45 ` Benjamin Herrenschmidt
  0 siblings, 1 reply; 3+ messages in thread
From: Gustavo A. R. Silva @ 2018-07-25 13:38 UTC (permalink / raw)
  To: Benjamin Herrenschmidt, linux-kernel; +Cc: Gustavo A. R. Silva

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@embeddedor.com>
---
 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;
 }
 
-- 
2.7.4


^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2018-07-26  0:26 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-07-25 13:38 [PATCH] fsi: master-ast-cf: Fix memory leak Gustavo A. R. Silva
2018-07-25 23:45 ` Benjamin Herrenschmidt
2018-07-26  0:26   ` Gustavo A. R. Silva

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.