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

Re: [Xen-devel] [RFC 11/19] xen/passthrough: Call arch_iommu_domain_destroy before calling iommu_teardown



Hi Ian,

On 17/06/14 09:07, Jan Beulich wrote:
On 16.06.14 at 18:17, <julien.grall@xxxxxxxxxx> wrote:
--- a/xen/drivers/passthrough/iommu.c
+++ b/xen/drivers/passthrough/iommu.c
@@ -219,10 +219,10 @@ void iommu_domain_destroy(struct domain *d)
      if ( !iommu_enabled || !hd->platform_ops )
          return;

+    arch_iommu_domain_destroy(d);
+
      if ( need_iommu(d) )
          iommu_teardown(d);
-
-    arch_iommu_domain_destroy(d);

At the first glance this doesn't look right, including the explanation
you gave (why would devices still be assigned to a guest at this
point).

Because the toolstack may forget to deassign a device. How do you handle this case in x86? In the SMMU case, this will mean a memory leak and misconfiguration of the registers.

I think it's safer to let Xen deassign the remaining devices.

And it's rather hard to properly decide with the series here
depending on two other series, i.e. there not being a
arch_iommu_domain_destroy() at all in current staging.

Are you sure? The other series doesn't deal with the IOMMU stuff. This change has been pushed upstream a month ago (see commit 4905b35c " iommu: introduce arch specific code").

Regards,

--
Julien Grall

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.