On Wed, Jun 7, 2023 at 3:40 PM Alexander Duyck <alexander.duyck@xxxxxxxxx> wrote: > > I am running into a DMA issue that appears to be a conflict between > ACS and IOMMU. As per the documentation I can find, the IOMMU is > supposed to create reserved regions for MSI and the memory window > behind the root port. However looking at reserved_regions I am not > seeing that. I only see the reservation for the MSI. > > So for example with an enabled NIC and iommu enabled w/o passthru I am seeing: > # cat /sys/bus/pci/devices/0000\:83\:00.0/iommu_group/reserved_regions > 0x00000000fee00000 0x00000000feefffff msi > > Shouldn't there also be a memory window for the region behind the root > port to prevent any possible peer-to-peer access? Since the iommu portion of the email bounced I figured I would fix that and provide some additional info. I added some instrumentation to the kernel to dump the resources found in iova_reserve_pci_windows. From what I can tell it is finding the correct resources for the Memory and Prefetchable regions behind the root port. It seems to be calling reserve_iova which is successfully allocating an iova to reserve the region. However still no luck on why it isn't showing up in reserved_regions.