Getting a copy of the KVM instance is necessary for mapping Guest pages in the Host. TODO: Instead of invoking the symbol directly, there needs to be a better way of getting a copy of the KVM instance probably by using other notifiers. However, currently, KVM shares its instance only with VFIO and therefore we are compelled to bind the passthrough'd device to vfio-pci. Signed-off-by: Vivek Kasireddy <vivek.kasireddy@xxxxxxxxx> --- drivers/vfio/vfio.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/drivers/vfio/vfio.c b/drivers/vfio/vfio.c index 4ad8a35667a7..9fb11b1ad3cd 100644 --- a/drivers/vfio/vfio.c +++ b/drivers/vfio/vfio.c @@ -2213,11 +2213,20 @@ static int vfio_unregister_iommu_notifier(struct vfio_group *group, return ret; } +extern void vhost_vdmabuf_get_kvm(unsigned long action, void *data); void vfio_group_set_kvm(struct vfio_group *group, struct kvm *kvm) { + void (*fn)(unsigned long, void *); + group->kvm = kvm; blocking_notifier_call_chain(&group->notifier, VFIO_GROUP_NOTIFY_SET_KVM, kvm); + + fn = symbol_get(vhost_vdmabuf_get_kvm); + if (fn) { + fn(VFIO_GROUP_NOTIFY_SET_KVM, kvm); + symbol_put(vhost_vdmabuf_get_kvm); + } } EXPORT_SYMBOL_GPL(vfio_group_set_kvm); -- 2.26.2 _______________________________________________ Virtualization mailing list Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linuxfoundation.org/mailman/listinfo/virtualization