[Impact]
If a device has an exclusion range specified in the IVRS table, this region needs to be reserved in the iova-domain of that device. This hasn't happened until now and can cause data corruption on data transfered with these devices.
Treat exclusion ranges as reserved regions in the iommu-core to fix the problem.
This is a clean cherry pick from mainline of 8aafaaf2212192012f5bae305bb31cdf7681d777
[Test Case]
[Fixes]
Cherry pick the following from Mainline
fd3b3448cf5adc2a2f09b70eaad03c27fe79e7a6 iommu/amd: Reserve exclusion range in iova-domain
[Regression Risk]
Only affects the amd_iommu driver:
drivers/iommu/amd_iommu*
[Impact]
If a device has an exclusion range specified in the IVRS table, this region needs to be reserved in the iova-domain of that device. This hasn't happened until now and can cause data corruption on data transfered with these devices.
Treat exclusion ranges as reserved regions in the iommu-core to fix the problem.
This is a clean cherry pick from mainline of 8aafaaf22121920 12f5bae305bb31c df7681d777
[Test Case]
[Fixes] a2f09b70eaad03c 27fe79e7a6 iommu/amd: Reserve exclusion range in iova-domain
Cherry pick the following from Mainline
fd3b3448cf5adc2
[Regression Risk] iommu/amd_ iommu*
Only affects the amd_iommu driver:
drivers/