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