Re: [PATCH 3/7] vfio/pci: Use vfio_device_unmap_mapping_range()

From: Alex Williamson
Date: Tue Aug 10 2021 - 15:59:42 EST


On Tue, 10 Aug 2021 14:48:31 -0400
Peter Xu <peterx@xxxxxxxxxx> wrote:

> On Thu, Aug 05, 2021 at 11:07:35AM -0600, Alex Williamson wrote:
> > @@ -1690,7 +1554,7 @@ static int vfio_pci_mmap(struct vfio_device *core_vdev, struct vm_area_struct *v
> >
> > vma->vm_private_data = vdev;
> > vma->vm_page_prot = pgprot_noncached(vma->vm_page_prot);
> > - vma->vm_pgoff = (pci_resource_start(pdev, index) >> PAGE_SHIFT) + pgoff;
> > + vma->vm_page_prot = pgprot_decrypted(vma->vm_page_prot);
>
> This addition seems to be an accident. :) Thanks,

Nope, Jason noted on a previous version that io_remap_pfn_range() is
essentially:

remap_pfn_range(vma, addr, pfn, size, pgprot_decrypted(prot));

So since we switched to vmf_insert_pfn() I added this page protection
flag to the vma instead, then it gets removed later when we switch back
to io_remap_pfn_range(). Thanks,

Alex