aboutsummaryrefslogtreecommitdiff
path: root/system/xen/xsa/xsa207.patch
diff options
context:
space:
mode:
authorMario Preksavec <mario@slackware.hr>2017-03-04 19:27:25 +0100
committerWilly Sudiarto Raharjo <willysr@slackbuilds.org>2017-03-05 11:29:42 +0700
commit8b6291f7279bfad516e232199d12f5299b339e59 (patch)
treefe073bb67fea2be9e340ebd096a62aa8fc1ed676 /system/xen/xsa/xsa207.patch
parenta0974db7446fb8b439b0e76cb7bf5d9d76b73a74 (diff)
system/xen: XSA 207-210 update.
Signed-off-by: Mario Preksavec <mario@slackware.hr>
Diffstat (limited to 'system/xen/xsa/xsa207.patch')
-rw-r--r--system/xen/xsa/xsa207.patch31
1 files changed, 31 insertions, 0 deletions
diff --git a/system/xen/xsa/xsa207.patch b/system/xen/xsa/xsa207.patch
new file mode 100644
index 0000000000000..6fb86fc9d584b
--- /dev/null
+++ b/system/xen/xsa/xsa207.patch
@@ -0,0 +1,31 @@
+From: Oleksandr Tyshchenko <olekstysh@gmail.com>
+Subject: 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>
+
+--- a/xen/drivers/passthrough/iommu.c
++++ b/xen/drivers/passthrough/iommu.c
+@@ -244,8 +244,7 @@ void iommu_domain_destroy(struct domain
+ if ( !iommu_enabled || !dom_iommu(d)->platform_ops )
+ return;
+
+- if ( need_iommu(d) )
+- iommu_teardown(d);
++ iommu_teardown(d);
+
+ arch_iommu_domain_destroy(d);
+ }