Hi Tom, We've found a bug where systems that have the AMD SME turned on are not able to run RDMA work loads. It seems the kernel is automatically encrypting VMA's pointing at PCI BAR memory created by io_remap_pfn_range() - adding a prot_decrypted() causes things to start working. To me this is surprising, before I go adding random prot_decrypted() into the RDMA subsystem can you confirm this is actually how things are expected to work? Is RDMA missing something? I don't see anything special in VFIO for instance and the two are very similar - does VFIO work with SME, eg DPDK or something unrelated to virtualization? Is there a reason not to just add prot_decrypted() to io_remap_pfn_range()? Is there use cases where a caller actually wants encrypted io memory? I saw your original patch series edited a few drivers this way, but not nearly enough. So I feel like I'm missing something.. Does vfio work with SME? I couldn't find any sign of it calling prot_decrypted() either? (BTW, I don't have any AMD SME systems to test on here, I'm getting this bug report from deployed system, running a distro kernel) Thanks, Jason