iommu/amd: Do not use IOMMUv2 functionality when SME is active

When memory encryption is active the device is likely not in a direct
mapped domain. Forbid using IOMMUv2 functionality for now until finer
grained checks for this have been implemented.

Signed-off-by: Joerg Roedel <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Joerg Roedel <[email protected]>
This commit is contained in:
Joerg Roedel committed 2020-09-04 12:07:08 +02:00
1 parent 7cad554887
commit 2822e58250
1 file changed
+7
+7
View File
@@ -737,6 +737,13 @@ int amd_iommu_init_device(struct pci_dev *pdev, int pasids)
might_sleep();
/*
* When memory encryption is active the device is likely not in a
* direct-mapped domain. Forbid using IOMMUv2 functionality for now.
*/
if (mem_encrypt_active())
return -ENODEV;
if (!amd_iommu_v2_supported())
return -ENODEV;