> +void vfio_unpin_pages(struct vfio_device *device, unsigned long *user_pfn,
> +                   int npage)
>  {
>       struct vfio_container *container;
>       struct vfio_iommu_driver *driver;
> -     int ret;
>  
> -     if (!user_pfn || !npage || !vfio_assert_device_open(device))
> -             return -EINVAL;
> +     if (WARN_ON_ONCE(!user_pfn || !npage || 
> !vfio_assert_device_open(device)))

This adds an overly long line.  Note that I think in general it is
better to have an individual WARN_ON per condition anyway, as that
allows to directly pinpoint what went wrong when it triggers.

> +     if (WARN_ON_ONCE(unlikely(!driver || !driver->ops->unpin_pages)))
> +             return;

I'd just skip this check an let it crash.  If someone calls unpin
on something totally random that wasn't even pinned we don't need to
handle that gracefully.

Otherwise looks good:

Reviewed-by: Christoph Hellwig <[email protected]>

Reply via email to