Re: [PATCH] PCI: vmd: Use devm_kasprintf instead of simple kasprintf

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, May 31, 2022 at 06:56:17PM +0530, subramanian.mohan@xxxxxxxxx wrote:
> From: Subramanian Mohan <subramanian.mohan@xxxxxxxxx>
> 
> Use devm_kasprintf instead of simple kasprintf to free the allocated memory
> automatically when the device is freed.

I guess this is pure simplification, not a bug fix, since we *did*
free the buffer in the error path and in vmd_remove(), right?

> Suggested-by: Srikanth Thokala <srikanth.thokala@xxxxxxxxx>
> Signed-off-by: Subramanian Mohan <subramanian.mohan@xxxxxxxxx>
> Acked-by: Nirmal Patel <nirmal.patel@xxxxxxxxxxxxxxx>
> ---
>  drivers/pci/controller/vmd.c | 5 ++---
>  1 file changed, 2 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/pci/controller/vmd.c b/drivers/pci/controller/vmd.c
> index eb05cceab964..7a72948e001f 100644
> --- a/drivers/pci/controller/vmd.c
> +++ b/drivers/pci/controller/vmd.c
> @@ -897,7 +897,8 @@ static int vmd_probe(struct pci_dev *dev, const struct pci_device_id *id)
>  	if (vmd->instance < 0)
>  		return vmd->instance;
>  
> -	vmd->name = kasprintf(GFP_KERNEL, "vmd%d", vmd->instance);
> +	vmd->name = devm_kasprintf(&dev->dev, GFP_KERNEL, "vmd%d",
> +				   vmd->instance);
>  	if (!vmd->name) {
>  		err = -ENOMEM;
>  		goto out_release_instance;
> @@ -935,7 +936,6 @@ static int vmd_probe(struct pci_dev *dev, const struct pci_device_id *id)
>  
>   out_release_instance:
>  	ida_simple_remove(&vmd_instance_ida, vmd->instance);
> -	kfree(vmd->name);
>  	return err;
>  }
>  
> @@ -958,7 +958,6 @@ static void vmd_remove(struct pci_dev *dev)
>  	vmd_detach_resources(vmd);
>  	vmd_remove_irq_domain(vmd);
>  	ida_simple_remove(&vmd_instance_ida, vmd->instance);
> -	kfree(vmd->name);
>  }
>  
>  #ifdef CONFIG_PM_SLEEP
> -- 
> 2.17.1
> 



[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux