diff options
author | Jason Gunthorpe <[email protected]> | 2020-11-05 12:34:58 -0400 |
---|---|---|
committer | Alex Williamson <[email protected]> | 2020-12-02 13:03:12 -0700 |
commit | 7b06a56d468b756ad6bb43ac21b11e474ebc54a0 (patch) | |
tree | 31e5f91bf959f10bbbc2707832534cc934a5792a | |
parent | 16b8fe4caf499ae8e12d2ab1b1324497e36a7b83 (diff) |
vfio-pci: Use io_remap_pfn_range() for PCI IO memory
commit f8f6ae5d077a ("mm: always have io_remap_pfn_range() set
pgprot_decrypted()") allows drivers using mmap to put PCI memory mapped
BAR space into userspace to work correctly on AMD SME systems that default
to all memory encrypted.
Since vfio_pci_mmap_fault() is working with PCI memory mapped BAR space it
should be calling io_remap_pfn_range() otherwise it will not work on SME
systems.
Fixes: 11c4cd07ba11 ("vfio-pci: Fault mmaps to enable vma tracking")
Signed-off-by: Jason Gunthorpe <[email protected]>
Acked-by: Peter Xu <[email protected]>
Tested-by: Tom Lendacky <[email protected]>
Signed-off-by: Alex Williamson <[email protected]>
-rw-r--r-- | drivers/vfio/pci/vfio_pci.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/vfio/pci/vfio_pci.c b/drivers/vfio/pci/vfio_pci.c index 47ebc5c49ca4..706de3ef94bb 100644 --- a/drivers/vfio/pci/vfio_pci.c +++ b/drivers/vfio/pci/vfio_pci.c @@ -1633,8 +1633,8 @@ static vm_fault_t vfio_pci_mmap_fault(struct vm_fault *vmf) mutex_unlock(&vdev->vma_lock); - if (remap_pfn_range(vma, vma->vm_start, vma->vm_pgoff, - vma->vm_end - vma->vm_start, vma->vm_page_prot)) + if (io_remap_pfn_range(vma, vma->vm_start, vma->vm_pgoff, + vma->vm_end - vma->vm_start, vma->vm_page_prot)) ret = VM_FAULT_SIGBUS; up_out: |