]> xenbits.xensource.com Git - people/aperard/qemu-dm.git/commitdiff
intel_iommu: Fix flag check in replay
authorZhenzhong Duan <zhenzhong.duan@intel.com>
Thu, 15 Jun 2023 03:26:25 +0000 (11:26 +0800)
committerMichael S. Tsirkin <mst@redhat.com>
Mon, 26 Jun 2023 13:50:00 +0000 (09:50 -0400)
Replay doesn't notify registered notifiers but the one passed
to it. So it's meaningless to check the registered notifier's
synthetic flag.

There is no issue currently as all replay use cases have MAP
flag set, but let's be robust.

Signed-off-by: Zhenzhong Duan <zhenzhong.duan@intel.com>
Reviewed-by: Peter Xu <peterx@redhat.com>
Message-Id: <20230615032626.314476-3-zhenzhong.duan@intel.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
hw/i386/intel_iommu.c

index 34af12f392f57ab20a8c55e571216efb197e12e5..f046f8591335956757da600a69a4482ef95b241b 100644 (file)
@@ -3837,7 +3837,7 @@ static void vtd_iommu_replay(IOMMUMemoryRegion *iommu_mr, IOMMUNotifier *n)
                                   PCI_FUNC(vtd_as->devfn),
                                   vtd_get_domain_id(s, &ce, vtd_as->pasid),
                                   ce.hi, ce.lo);
-        if (vtd_as_has_map_notifier(vtd_as)) {
+        if (n->notifier_flags & IOMMU_NOTIFIER_MAP) {
             /* This is required only for MAP typed notifiers */
             vtd_page_walk_info info = {
                 .hook_fn = vtd_replay_hook,