RE: [PATCH 1/5] hisi_acc_vfio_pci: Fixes a memory leak bug

From: Shameerali Kolothum Thodi
Date: Tue Sep 20 2022 - 13:03:47 EST




> -----Original Message-----
> From: Jason Gunthorpe [mailto:jgg@xxxxxxxxxx]
> Sent: 20 September 2022 17:38
> To: Alex Williamson <alex.williamson@xxxxxxxxxx>
> Cc: liulongfang <liulongfang@xxxxxxxxxx>; Shameerali Kolothum Thodi
> <shameerali.kolothum.thodi@xxxxxxxxxx>; cohuck@xxxxxxxxxx;
> linux-kernel@xxxxxxxxxxxxxxx; linuxarm@xxxxxxxxxxxxx
> Subject: Re: [PATCH 1/5] hisi_acc_vfio_pci: Fixes a memory leak bug
>
> On Tue, Sep 20, 2022 at 10:34:43AM -0600, Alex Williamson wrote:
> > On Thu, 15 Sep 2022 09:31:53 +0800
> > Longfang Liu <liulongfang@xxxxxxxxxx> wrote:
> >
> > > During the stop copy phase of live migration, the driver allocates a
> > > memory for the migrated data to save the data.
> > >
> > > When an exception occurs when the driver reads device data, the
> > > driver will report an error to qemu and exit the current migration state.
> > > But this memory is not released, which will lead to a memory leak
> > > problem.
>
> Why isn't it released? The fput() releases it:
>
> static int hisi_acc_vf_release_file(struct inode *inode, struct file *filp) {
> struct hisi_acc_vf_migration_file *migf = filp->private_data;
>
> hisi_acc_vf_disable_fd(migf);
> mutex_destroy(&migf->lock);
> kfree(migf);
> ^^^^^^^^^^
>
> This patch looks wrong to me.

That's right. Missed that. Sorry of the oversight.

Thanks,
Shameer