Skip to contentSkip to conversation

intel-ish-hid: Fix a use after free in load_fw_from_host()

PATCH Applied Dan Carpenter 2 participants 2 messages Jun 26, 2019

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 intel-ish-hid: Fix a use after free in load_fw_from_host()

We have to print the filename first before we can kfree it.

Fixes 91b228107da3 ("HID: intel-ish-hid: ISH firmware loader client driver")
---
 drivers/hid/intel-ish-hid/ishtp-fw-loader.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/hid/intel-ish-hid/ishtp-fw-loader.c +1 -1
index 22ba21457035..aa2dbed30fc3 100644
@@ -816,9 +816,9 @@ static int load_fw_from_host(struct ishtp_cl_data *client_data)
 		goto end_err_fw_release;
 
 	release_firmware(fw);
-	kfree(filename);
 	dev_info(cl_data_to_dev(client_data), "ISH firmware %s loaded\n",
 		 filename);
+	kfree(filename);
 	return 0;
 
 end_err_fw_release:
Signature · 1 line
2.20.1
maintainer Applied
#1 lore raw
Quoted 13 lines · Dan Carpenter

We have to print the filename first before we can kfree it.

Fixes 91b228107da3 ("HID: intel-ish-hid: ISH firmware loader client driver")
---
 drivers/hid/intel-ish-hid/ishtp-fw-loader.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
drivers/hid/intel-ish-hid/ishtp-fw-loader.c +0 -0
index 22ba21457035..aa2dbed30fc3 100644

drivers/hid/intel-ish-hid/ishtp-fw-loader.c static int load_fw_from_host(struct ishtp_cl_data *client_data) · line 822

Quoted 8 lines
drivers/hid/intel-ish-hid/ishtp-fw-loader.c +1 -1
@@ -816,9 +816,9 @@ static int load_fw_from_host(struct ishtp_cl_data *client_data)
 		goto end_err_fw_release;
 
 	release_firmware(fw);
-	kfree(filename);
 	dev_info(cl_data_to_dev(client_data), "ISH firmware %s loaded\n",
 		 filename);
+	kfree(filename);
 	return 0;

Applied, thanks Dan.

Signature · 2 lines
Jiri Kosina
SUSE Labs