lkml.org 
[lkml]   [2020]   [Dec]   [28]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.14 128/242] vfio-pci: Use io_remap_pfn_range() for PCI IO memory
    Date
    From: Jason Gunthorpe <jgg@nvidia.com>

    [ Upstream commit 7b06a56d468b756ad6bb43ac21b11e474ebc54a0 ]

    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 <jgg@nvidia.com>
    Acked-by: Peter Xu <peterx@redhat.com>
    Tested-by: Tom Lendacky <thomas.lendacky@amd.com>
    Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/vfio/pci/vfio_pci.c | 4 ++--
    1 file changed, 2 insertions(+), 2 deletions(-)

    diff --git a/drivers/vfio/pci/vfio_pci.c b/drivers/vfio/pci/vfio_pci.c
    index ac1c54bcfe8fb..6fceefcab81db 100644
    --- a/drivers/vfio/pci/vfio_pci.c
    +++ b/drivers/vfio/pci/vfio_pci.c
    @@ -1380,8 +1380,8 @@ static int 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:
    --
    2.27.0


    \
     
     \ /
      Last update: 2020-12-28 17:22    [W:4.066 / U:0.460 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site