Re: AMD SME encrpytion and PCI BAR pages to user space

From: Jason Gunthorpe
Date: Wed Oct 21 2020 - 07:59:43 EST


On Mon, Oct 19, 2020 at 11:36:16AM -0500, Tom Lendacky wrote:

> > io_remap_pfn_range()? Is there use cases where a caller actually wants
> > encrypted io memory?
>
> As long as you never have physical memory / ram being mapped in this path,
> it seems that applying pgprot_decrypted() would be ok.

I made a patch along these lines:

https://github.com/jgunthorpe/linux/commits/amd_sme_fix

Just waiting for the 0-day bots to check it

I now have a report that SME works OK but when the same test is done
inside a VM with SEV it fails again - is there something else needed
for the SEV case?

This would be using VFIO with qemu and KVM to assign the PCI device to
the guest, it seems the guest kernel driver is able to use the device
but the guest userspace fails.

Regards,
Jason