[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen master] iommu: fix check for autotranslated hardware domain
commit faf0d606a6eb911449075b83ea0ad085960c9acb Author: Roger Pau Monné <roger.pau@xxxxxxxxxx> AuthorDate: Thu Mar 5 10:43:46 2020 +0100 Commit: Jan Beulich <jbeulich@xxxxxxxx> CommitDate: Thu Mar 5 10:43:46 2020 +0100 iommu: fix check for autotranslated hardware domain The current position of the check_hwdom_reqs is wrong, as there's a is_iommu_enabled at the top of the function that will prevent getting to the check on systems without an IOMMU, because the hardware domain won't have the XEN_DOMCTL_CDF_iommu flag set. Move the position of the check so it's done before the is_iommu_enabled one, and thus attempts to create a translated hardware domain without an IOMMU can be detected. Fixes: f89f555827a ('remove late (on-demand) construction of IOMMU page tables') Signed-off-by: Roger Pau Monné <roger.pau@xxxxxxxxxx> Reviewed-by: Jan Beulich <jbeulich@xxxxxxxx> --- xen/drivers/passthrough/iommu.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/xen/drivers/passthrough/iommu.c b/xen/drivers/passthrough/iommu.c index cab7a068aa..dac1b58fa5 100644 --- a/xen/drivers/passthrough/iommu.c +++ b/xen/drivers/passthrough/iommu.c @@ -172,6 +172,9 @@ int iommu_domain_init(struct domain *d, unsigned int opts) struct domain_iommu *hd = dom_iommu(d); int ret = 0; + if ( is_hardware_domain(d) ) + check_hwdom_reqs(d); /* may modify iommu_hwdom_strict */ + if ( !is_iommu_enabled(d) ) return 0; @@ -188,9 +191,6 @@ int iommu_domain_init(struct domain *d, unsigned int opts) if ( ret || is_system_domain(d) ) return ret; - if ( is_hardware_domain(d) ) - check_hwdom_reqs(d); /* may modify iommu_hwdom_strict */ - /* * Use shared page tables for HAP and IOMMU if the global option * is enabled (from which we can infer the h/w is capable) and -- generated by git-patchbot for /home/xen/git/xen.git#master _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/xen-changelog
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |