lkml.org 
[lkml]   [2022]   [Jun]   [1]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRE: [PATCH] PCI: vmd: Use devm_kasprintf instead of simple kasprintf
Date


> -----Original Message-----
> From: Bjorn Helgaas <helgaas@kernel.org>
> Sent: Wednesday, June 1, 2022 12:09 AM
> To: Mohan, Subramanian <subramanian.mohan@intel.com>
> Cc: nirmal.patel@linux.intel.com; jonathan.derrick@linux.dev;
> lorenzo.pieralisi@arm.com; robh@kernel.org; kw@linux.com;
> bhelgaas@google.com; linux-kernel@vger.kernel.org; linux-
> pci@vger.kernel.org; Sangannavar, Mallikarjunappa
> <mallikarjunappa.sangannavar@intel.com>; Thokala, Srikanth
> <srikanth.thokala@intel.com>
> Subject: Re: [PATCH] PCI: vmd: Use devm_kasprintf instead of simple
> kasprintf
>
> On Tue, May 31, 2022 at 06:56:17PM +0530, subramanian.mohan@intel.com
> wrote:
> > From: Subramanian Mohan <subramanian.mohan@intel.com>
> >
> > 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?
>

Yes this is simplification and not bug fix.

Thanks,
Subbu

> > Suggested-by: Srikanth Thokala <srikanth.thokala@intel.com>
> > Signed-off-by: Subramanian Mohan <subramanian.mohan@intel.com>
> > Acked-by: Nirmal Patel <nirmal.patel@linux.intel.com>
> > ---
> > 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
> >

\
 
 \ /
  Last update: 2022-06-01 13:14    [W:0.252 / U:0.244 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site