public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2] usb: typec: tipd: Fix dereferencing freed memory 'fw in core.c
@ 2024-09-23  9:26 Dipendra Khadka
  2024-09-23  9:47 ` Greg KH
  2024-10-04  8:12 ` Greg KH
  0 siblings, 2 replies; 3+ messages in thread
From: Dipendra Khadka @ 2024-09-23  9:26 UTC (permalink / raw)
  To: heikki.krogerus, gregkh; +Cc: Dipendra Khadka, linux-usb, linux-kernel

Smatch reported dereferencing freed memory 'fw' in tps6598x_apply_patch().

Invoking relrease_firmware(fw) just after checking ret.

Fixes: 916b8e5fa73d ("usb: typec: tipd: add error log to provide firmware name and size")
Signed-off-by: Dipendra Khadka <kdipendra88@gmail.com>
---
v2:
 - Updated patch subject.
 - Updated patch description.
 - Added Fixes tag.
v1: 
 drivers/usb/typec/tipd/core.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/usb/typec/tipd/core.c b/drivers/usb/typec/tipd/core.c
index ea768b19a7f1..70bf8023ea35 100644
--- a/drivers/usb/typec/tipd/core.c
+++ b/drivers/usb/typec/tipd/core.c
@@ -1191,12 +1191,13 @@ static int tps6598x_apply_patch(struct tps6598x *tps)
 	dev_info(tps->dev, "Firmware update succeeded\n");
 
 release_fw:
-	release_firmware(fw);
 	if (ret) {
 		dev_err(tps->dev, "Failed to write patch %s of %zu bytes\n",
 			firmware_name, fw->size);
 	}
 
+	relrease_firmware(fw);
+
 	return ret;
 };
 
-- 
2.43.0


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

end of thread, other threads:[~2024-10-04  8:12 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-09-23  9:26 [PATCH v2] usb: typec: tipd: Fix dereferencing freed memory 'fw in core.c Dipendra Khadka
2024-09-23  9:47 ` Greg KH
2024-10-04  8:12 ` Greg KH

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox