RE: [PATCH v14 22/26] vfio: Add VFIO_DEVICE_BIND_IOMMUFD

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> From: Jason Gunthorpe <jgg@xxxxxxxxxx>
> Sent: Friday, July 14, 2023 10:42 PM
> 
> On Mon, Jul 10, 2023 at 07:59:24PM -0700, Yi Liu wrote:
> 
> > +static inline long vfio_df_ioctl_bind_iommufd(struct vfio_device_file *df,
> > +					      struct vfio_device_bind_iommufd __user
> *arg)
> > +{
> > +	return -EOPNOTSUPP;
> > +}
> 
> This should be -ENOTTY

Okay. Since there are quite a few stub functions in the drivers/vfio/vfio.h.
Let me check the rule. All the stub functions should return -ENOTTY in
the !IS_ENABLED(CONFIG_XXX) case, if the function returns int., is it?

> > @@ -1149,6 +1151,9 @@ static long vfio_device_fops_unl_ioctl(struct file *filep,
> >  	void __user *uptr = (void __user *)arg;
> >  	int ret;
> >
> > +	if (cmd == VFIO_DEVICE_BIND_IOMMUFD)
> > +		return vfio_df_ioctl_bind_iommufd(df, uptr);
> > +
> 
> And this function has a mistake too:
> 
> 	default:
> 		if (unlikely(!device->ops->ioctl))
> 			ret = -EINVAL;
> 
> Should also be -ENOTTY
> 
> All the implementations of the ops already return -ENOTTY
> 
> However, I think this is all slightly not quite right, the proper
> return code is supposed to be ENOIOCTLCMD which vfs_ioctl() then
> translates into ENOTTY for some reason..
> 
> It looks Ok otherwise

This is not in the scope of this series. May need a separate fix patch. @Alex?

Regards,
Yi Liu




[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux