Re: [PATCH v2] usb: typec: tipd: Fix dereferencing freed memory 'fw in core.c
From: Greg KH
Date: Fri Oct 04 2024 - 04:12:18 EST
On Mon, Sep 23, 2024 at 09:26:24AM +0000, Dipendra Khadka wrote:
> 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@xxxxxxxxx>
> ---
> 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);
Any specific reason why you did not even compile this version of the
patch?
{sigh}