> +
> + if (!dma->pfnmap) {
> + struct vfio_device *device;
> + unsigned long base_pfn;
> + struct pfnmap_obj *pfnmap;Please factor this whole block into a separate helper to keep it readable.

