Re: [PATCH 13/19] vfio: Use the new follow_pfnmap API

Jason Gunthorpe
2024-08-14T13:20:44Z

On Fri, Aug 09, 2024 at 12:09:03PM -0400, Peter Xu wrote:
> Use the new API that can understand huge pfn mappings.
>
> Cc: Alex Williamson <alex.williamson@redhat.com>
> Cc: Jason Gunthorpe <jgg@nvidia.com>
> Signed-off-by: Peter Xu <peterx@redhat.com>
> ---
> drivers/vfio/vfio_iommu_type1.c | 16 ++++++----------
> 1 file changed, 6 insertions(+), 10 deletions(-)
>
> diff --git a/drivers/vfio/vfio_iommu_type1.c b/drivers/vfio/vfio_iommu_type1.c
> index 0960699e7554..bf391b40e576 100644
> --- a/drivers/vfio/vfio_iommu_type1.c
> +++ b/drivers/vfio/vfio_iommu_type1.c
> @@ -513,12 +513,10 @@ static int follow_fault_pfn(struct vm_area_struct *vma, struct mm_struct *mm,
> unsigned long vaddr, unsigned long *pfn,
> bool write_fault)
> {
> - pte_t *ptep;
> - pte_t pte;
> - spinlock_t *ptl;
> + struct follow_pfnmap_args args = { .vma = vma, .address = vaddr };
> int ret;
>
> - ret = follow_pte(vma, vaddr, &ptep, &ptl);
> + ret = follow_pfnmap_start(&args);

Let's add a comment here that this is not locked properly to
discourage anyone from copying it.

Jason