> From: Jan Beulich <[email protected]> > Sent: Tuesday, November 23, 2021 9:40 PM > > All our present implementation requires is that the range fully fits > in a single page. No need to exclude the case of the last register > extending right to the end of that page. > > Signed-off-by: Jan Beulich <[email protected]>
Reviewed-by: Kevin Tian <[email protected]> > > --- a/xen/drivers/passthrough/vtd/iommu.c > +++ b/xen/drivers/passthrough/vtd/iommu.c > @@ -1229,7 +1229,7 @@ int __init iommu_alloc(struct acpi_drhd_ > quirk_iommu_caps(iommu); > > if ( cap_fault_reg_offset(iommu->cap) + > - cap_num_fault_regs(iommu->cap) * PRIMARY_FAULT_REG_LEN >= > PAGE_SIZE || > + cap_num_fault_regs(iommu->cap) * PRIMARY_FAULT_REG_LEN > > PAGE_SIZE || > ecap_iotlb_offset(iommu->ecap) >= PAGE_SIZE ) > { > printk(XENLOG_ERR VTDPREFIX "IOMMU: unsupported\n");
