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. Regards, Halil > + return ret; > }