]> git.baikalelectronics.ru Git - kernel.git/commit
vfio: Make vfio_unpin_pages() return void
authorNicolin Chen <nicolinc@nvidia.com>
Sat, 23 Jul 2022 02:02:47 +0000 (19:02 -0700)
committerAlex Williamson <alex.williamson@redhat.com>
Sat, 23 Jul 2022 13:29:10 +0000 (07:29 -0600)
commit33a71b922c629c33312c95729ae21a0905c9bfc9
tree69f1de7bd29fe45b62bfcc86977bc767dfa9a7b5
parent3cc558222e0ae2b3e5900b7670e2d53cc41d1aa8
vfio: Make vfio_unpin_pages() return void

There's only one caller that checks its return value with a WARN_ON_ONCE,
while all other callers don't check the return value at all. Above that,
an undo function should not fail. So, simplify the API to return void by
embedding similar WARN_ONs.

Also for users to pinpoint which condition fails, separate WARN_ON lines,
yet remove the "driver->ops->unpin_pages" check, since it's unreasonable
for callers to unpin on something totally random that wasn't even pinned.
And remove NULL pointer checks for they would trigger oops vs. warnings.
Note that npage is already validated in the vfio core, thus drop the same
check in the type1 code.

Suggested-by: Christoph Hellwig <hch@infradead.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Jason Gunthorpe <jgg@nvidia.com>
Reviewed-by: Kirti Wankhede <kwankhede@nvidia.com>
Tested-by: Terrence Xu <terrence.xu@intel.com>
Signed-off-by: Nicolin Chen <nicolinc@nvidia.com>
Link: https://lore.kernel.org/r/20220723020256.30081-2-nicolinc@nvidia.com
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
Documentation/driver-api/vfio-mediated-device.rst
drivers/gpu/drm/i915/gvt/kvmgt.c
drivers/vfio/vfio.c
drivers/vfio/vfio.h
drivers/vfio/vfio_iommu_type1.c
include/linux/vfio.h