From: Jan Beulich Date: Fri, 25 Oct 2019 10:00:41 +0000 (+0200) Subject: IOMMU: add missing HVM check X-Git-Tag: archive/raspbian/4.11.3+24-g14b62ab3e5-1+rpi1^2~55^2~93 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=d27973cd2977982d98a8158ca1f7ef7a4831d6e2;p=xen.git IOMMU: add missing HVM check Fix an unguarded d->arch.hvm access in assign_device(). Signed-off-by: Jan Beulich Reviewed-by: Roger Pau Monné Acked-by: Andrew Cooper master commit: 41fd1009cd7416b73d745a77c24b4e8d1a296fe6 master date: 2019-10-02 13:36:59 +0200 --- diff --git a/xen/drivers/passthrough/pci.c b/xen/drivers/passthrough/pci.c index f51cae7f4e..037aba7c94 100644 --- a/xen/drivers/passthrough/pci.c +++ b/xen/drivers/passthrough/pci.c @@ -1416,7 +1416,8 @@ static int assign_device(struct domain *d, u16 seg, u8 bus, u8 devfn, u32 flag) /* Prevent device assign if mem paging or mem sharing have been * enabled for this domain */ if ( unlikely(!need_iommu(d) && - (d->arch.hvm_domain.mem_sharing_enabled || + ((is_hvm_domain(d) && + d->arch.hvm_domain.mem_sharing_enabled) || vm_event_check_ring(d->vm_event_paging) || p2m_get_hostp2m(d)->global_logdirty)) ) return -EXDEV;