RE: [PATCH 5/8] vfio/mdev: Avoid masking error code to EBUSY
From: Parav Pandit
Date: Mon Mar 25 2019 - 17:29:20 EST
> -----Original Message-----
> From: Kirti Wankhede <kwankhede@xxxxxxxxxx>
> Sent: Monday, March 25, 2019 2:18 PM
> To: Parav Pandit <parav@xxxxxxxxxxxx>; kvm@xxxxxxxxxxxxxxx; linux-
> kernel@xxxxxxxxxxxxxxx; alex.williamson@xxxxxxxxxx
> Subject: Re: [PATCH 5/8] vfio/mdev: Avoid masking error code to EBUSY
>
>
>
> On 3/23/2019 4:50 AM, Parav Pandit wrote:
> > Instead of masking return error to -EBUSY, return actual error
> > returned by the driver.
> >
> > Signed-off-by: Parav Pandit <parav@xxxxxxxxxxxx>
> > ---
> > drivers/vfio/mdev/mdev_core.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/vfio/mdev/mdev_core.c
> > b/drivers/vfio/mdev/mdev_core.c index 3d91f62..ab05464 100644
> > --- a/drivers/vfio/mdev/mdev_core.c
> > +++ b/drivers/vfio/mdev/mdev_core.c
> > @@ -142,7 +142,7 @@ static int mdev_device_remove_ops(struct
> mdev_device *mdev, bool force_remove)
> > */
> > ret = parent->ops->remove(mdev);
> > if (ret && !force_remove)
> > - return -EBUSY;
> > + return ret;
> >
> > sysfs_remove_groups(&mdev->dev.kobj, parent->ops-
> >mdev_attr_groups);
> > return 0;
> >
>
> Intentionally returned -EBUSY here. If VMM or userspace application is using
> this mdev device, vendor driver can return error.
If vendor driver detects that its busy, it must return EBUSY, not any other status.
mdev core is not supposed to mask some other error to EBUSY.
Hence the fix.
In that case sysfs interface
> should see -EBUSY error indicating device is still active.
>
> Thanks,
> Kirti