From: Harshit Mogalapalli Date: Wed, 24 Jul 2024 16:23:50 +0000 (-0700) Subject: usb: typec: tipd: Fix dereferencing freeing memory in tps6598x_apply_patch() X-Git-Tag: v6.11-rc3~4^2~6 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=8290b567621ba4e3ccf45ec9d67e0507196c5ddc;p=thirdparty%2Fkernel%2Flinux.git usb: typec: tipd: Fix dereferencing freeing memory in tps6598x_apply_patch() release_firmware() already frees fw, fix this my moving release_firmware after the dereference. Fixes: 916b8e5fa73d ("usb: typec: tipd: add error log to provide firmware name and size") Signed-off-by: Harshit Mogalapalli Reviewed-by: Heikki Krogerus Reviewed-by: Javier Carrasco Link: https://lore.kernel.org/r/20240724162356.992763-1-harshit.m.mogalapalli@oracle.com Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/usb/typec/tipd/core.c b/drivers/usb/typec/tipd/core.c index ea768b19a7f1e..eb5596e3406a3 100644 --- a/drivers/usb/typec/tipd/core.c +++ b/drivers/usb/typec/tipd/core.c @@ -1191,11 +1191,11 @@ 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); } + release_firmware(fw); return ret; };