> -----Original Message-----
> From: [email protected]
> [mailto:[email protected]] On Behalf Of Jan Kiszka
> Sent: 2019年2月20日 13:48
> To: Flynn Xu <[email protected]>; [email protected]
> Cc: Henning Schild <[email protected]>
> Subject: Re: PCI driver memory leak
>
> On 20.02.19 06:06, Flynn Xu wrote:
> > Hi,
> >
> > The function */pci_get_domain_bus_and_slot /*will increase the
> > reference count, and the caller must decrement the reference
> >
> > count by calling */pci_dev_put, /*so is there a potential memory leak?
> >
> > After add pci_dev_put, the counter decreased back to 0 when remove pci
> devices..
> >
> > *//*
> >
> > diff --git a/driver/pci.c b/driver/pci.c
> >
> > index 8ba74bfd..7d060221 100644
> >
> > --- a/driver/pci.c
> >
> > +++ b/driver/pci.c
> >
> > @@ -103,8 +103,12 @@ static void jailhouse_pci_remove_device(const
> > struct jailhouse_pci_device *dev)
> >
> > l_dev = pci_get_domain_bus_and_slot(dev->domain,
> > PCI_BUS_NUM(dev->bdf),
> >
> > dev->bdf
> & 0xff);
> >
> > - if (l_dev)
> >
> > - pci_stop_and_remove_bus_device_locked(l_dev);
> >
> > + if (l_dev) {
> >
> > + pci_lock_rescan_remove();
> >
> > + pci_stop_and_remove_bus_device(l_dev);
> >
> > + pci_dev_put(l_dev);
> >
> > + pci_unlock_rescan_remove();
> >
>
> Good catch!
>
> But rather than the open-coded pci_lock_rescan_remove, isn't
> pci_stop_and_remove_bus_device_locked() the right thing? Or should we
> rather lock the whole procedure, including pci_get_domain_bus_and_slot?
> Please make sure to provide some reasoning for that when writing a patch.
Sorry for not putting any reason before writing a patch, but I am not sure what
is the right way to handle this, I referenced how xen does in
pcifront_detach_devices
in drivers/pci/xen-pcifront.c.
>
> TIA!
> Jan
>
> --
> Siemens AG, Corporate Technology, CT RDA IOT SES-DE Corporate Competence
> Center Embedded Linux
>
> --
> You received this message because you are subscribed to the Google Groups
> "Jailhouse" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> For more options, visit
> https://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgrou
> ps.google.com%2Fd%2Foptout&data=02%7C01%7Cflynn.xu%40nxp.com
> %7C6a529909fc4941944c3908d696f6f936%7C686ea1d3bc2b4c6fa92cd99c5
> c301635%7C0%7C0%7C636862384821022331&sdata=elR1rQbWZLrplkK
> 7F7NndyYya8beKAbSjp7gutMSg%2F8%3D&reserved=0.
--
You received this message because you are subscribed to the Google Groups
"Jailhouse" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.