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

From: Peter Xu
Date: Tue Aug 10 2021 - 16:20:19 EST


On Tue, Aug 10, 2021 at 01:59:32PM -0600, Alex Williamson wrote:
> 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,

I see, I read it wrongly as pgprot_noncached() previously. Yes, it makes sense
to do so. Thanks,

--
Peter Xu