RE: [RFT][PATCH v2 1/9] vfio: Make vfio_unpin_pages() return void

From: Tian, Kevin
Date: Thu Jul 07 2022 - 04:42:37 EST


> From: Nicolin Chen <nicolinc@xxxxxxxxxx>
> Sent: Wednesday, July 6, 2022 2:28 PM
>
> There's only one caller that checks its return value with a WARN_ON_ONCE,
> while all other callers do not check return value at all. So simplify the
> API to return void by embedding similar WARN_ON_ONCEs.

While this change keeps the similar effect as before it leads to different
policy for same type of errors between pin and unpin paths:

e.g.

vfio_unpin_pages():
if (WARN_ON_ONCE(!user_pfn || !npage || !vfio_assert_device_open(device)))
return;

vfio_pin_pages():
if (!user_pfn || !phys_pfn || !npage ||
!vfio_assert_device_open(device))
return -EINVAL;

It sounds a bit weird when reading related code...