Re: [PATCH v7 2/4] vfio: ap: register IOMMU VFIO notifier

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

 



On Tue, 30 Apr 2019 09:59:51 +0200
Pierre Morel <pmorel@xxxxxxxxxxxxx> wrote:

> On 29/04/2019 18:07, Halil Pasic wrote:
> > On Fri, 26 Apr 2019 15:01:26 +0200
> > Pierre Morel <pmorel@xxxxxxxxxxxxx> wrote:
> > 
> >> @@ -858,7 +887,17 @@ static int vfio_ap_mdev_open(struct mdev_device *mdev)
> >>   		return ret;
> >>   	}
> >>   
> >> -	return 0;
> >> +	matrix_mdev->iommu_notifier.notifier_call = vfio_ap_mdev_iommu_notifier;
> >> +	events = VFIO_IOMMU_NOTIFY_DMA_UNMAP;
> >> +	ret = vfio_register_notifier(mdev_dev(mdev), VFIO_IOMMU_NOTIFY,
> >> +				     &events, &matrix_mdev->iommu_notifier);
> >> +	if (!ret)
> >> +		return ret;
> >> +
> >> +	vfio_unregister_notifier(mdev_dev(mdev), VFIO_GROUP_NOTIFY,
> >> +				 &matrix_mdev->group_notifier);
> >> +	module_put(THIS_MODULE);
> > 
> > Can you please explain this module_put() here? I don't see anything in
> > the cover letter.
> 
> May be you should have a look at the sources or the original patch 
> series of Tony, there is a try_module_get() at the beginning of open to 
> make sure that the module is not taken away while in use by the guest.
> 
> In the case we failed to open the mediated device we let fall the reference.
> 

Right, my bad. I did not notice we were on the error recovery path.

Regards,
Halil




[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux