On Mon, 3 Nov 2025 07:39:37 +0000 Pranjal Shrivastava <[email protected]> wrote:
> On Thu, Oct 23, 2025 at 08:09:28PM -0300, Jason Gunthorpe wrote: > > Remove the fallback through the ioctl callback, no drivers use this now. > > > > Signed-off-by: Jason Gunthorpe <[email protected]> > > --- > > drivers/vfio/vfio_main.c | 8 ++++---- > > 1 file changed, 4 insertions(+), 4 deletions(-) > > > > diff --git a/drivers/vfio/vfio_main.c b/drivers/vfio/vfio_main.c > > index a390163ce706c4..f056e82ba35075 100644 > > --- a/drivers/vfio/vfio_main.c > > +++ b/drivers/vfio/vfio_main.c > > @@ -1297,13 +1297,13 @@ static long vfio_device_fops_unl_ioctl(struct file > > *filep, > > break; > > > > case VFIO_DEVICE_GET_REGION_INFO: > > - if (!device->ops->get_region_info) > > - goto ioctl_fallback; > > - ret = device->ops->get_region_info(device, uptr); > > + if (unlikely(!device->ops->get_region_info)) > > + ret = -EINVAL; Nit, typically I would have expected a success oriented flow, ie. if (likely(device->ops->get_region_info)) ret = device->ops->get_region_info(device, uptr); else ret = -EINVAL; But it goes away in the next patch, so *shrug*. > > Nit: Let's also add a warn/err log here highliting that the device > doesn't populate the get_region_info op? Are devices required to implement regions? If so, it'd be more appropriate to fail the device registration in __vfio_register_dev() for the missing op than wait for an ioctl. However, here in the device agnostic layer of vfio, I think the answer leans more towards no, we could theoretically have a device with no regions. We also want to be careful not to introduce a WARN_ON that's user trigger'able. Thanks, Alex
