]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
usb: typec: tipd: Fix dereferencing freeing memory in tps6598x_apply_patch()
authorHarshit Mogalapalli <harshit.m.mogalapalli@oracle.com>
Wed, 24 Jul 2024 16:23:50 +0000 (09:23 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 31 Jul 2024 08:40:08 +0000 (10:40 +0200)
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 <harshit.m.mogalapalli@oracle.com>
Reviewed-by: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Reviewed-by: Javier Carrasco <javier.carrasco@wolfvision.net>
Link: https://lore.kernel.org/r/20240724162356.992763-1-harshit.m.mogalapalli@oracle.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/typec/tipd/core.c

index ea768b19a7f1ec1da902b07ec447668b2bd4849d..eb5596e3406a3d530ca62ca5529849de36b04f0c 100644 (file)
@@ -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;
 };