mirror of
https://github.com/xen-project/xen.git
synced 2026-10-30 03:00:05 +01:00
IOMMU: always call teardown callback
There is a possible scenario when (d)->need_iommu remains unset during guest domain execution. For example, when no devices were assigned to it. Taking into account that teardown callback is not called when (d)->need_iommu is unset we might have unreleased resourses after destroying domain. So, always call teardown callback to roll back actions that were performed in init callback. This is XSA-207. Signed-off-by: Oleksandr Tyshchenko <olekstysh@gmail.com> Reviewed-by: Jan Beulich <jbeulich@suse.com> Tested-by: Jan Beulich <jbeulich@suse.com> Tested-by: Julien Grall <julien.grall@arm.com>
This commit is contained in:
1 parent
2b17bf4547
commit
43d06efb72
1 file changed
+1
-2
@@ -191,8 +191,7 @@ void iommu_domain_destroy(struct domain *d)
|
||||
if ( !iommu_enabled || !dom_iommu(d)->platform_ops )
|
||||
return;
|
||||
|
||||
if ( need_iommu(d) )
|
||||
iommu_teardown(d);
|
||||
iommu_teardown(d);
|
||||
|
||||
arch_iommu_domain_destroy(d);
|
||||
}
|
||||
|
||||