Re: [PATCH 1/9] iommu/amd: Introduce helper functions for managing IOMMU memory

From: Jason Gunthorpe
Date: Wed May 01 2024 - 12:17:50 EST


On Tue, Apr 30, 2024 at 03:24:22PM +0000, Suravee Suthikulpanit wrote:
> Depending on the modes of operation, certain AMD IOMMU data structures are
> allocated with constraints. For example:
>
> * Some buffers must be 4K-aligned when running in SNP-enabled host
>
> * To support AMD IOMMU emulation in an SEV guest, some data structures
> cannot be encrypted so that the VMM can access the memory successfully.

Uh, this seems like a really bad idea. The VM's integrity strongly
depends on the correct function of the HW. If the IOMMU datastructures
are not protected then the whole thing is not secure.

For instance allowing hostile VMs to manipulate the DTE, or interfere
with the command queue, destroys any possibility to have secure DMA.

Is this some precursor to implementing a secure iommu where the data
structures will remain encrypted? What is even the point of putting a
non-secure viommu into a SEV guest anyhow?

Jason