diff options
author | Mario Preksavec <mario@slackware.hr> | 2017-03-04 19:27:25 +0100 |
---|---|---|
committer | Willy Sudiarto Raharjo <willysr@slackbuilds.org> | 2017-03-05 11:29:42 +0700 |
commit | 8b6291f7279bfad516e232199d12f5299b339e59 (patch) | |
tree | fe073bb67fea2be9e340ebd096a62aa8fc1ed676 /system/xen/xsa/xsa207.patch | |
parent | a0974db7446fb8b439b0e76cb7bf5d9d76b73a74 (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.patch | 31 |
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); + } |