> +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 <hch@xxxxxx>