Subject: Re: [PATCH v2 15/15] Drivers: hv: Add modules to expose /dev/mshv to VMMs running on Hyper-V

From: Boqun Feng <[email-masked]>
Date: Fri, 25 Aug 2023 13:15:19 -0700

On Fri, Aug 25, 2023 at 11:41:35AM -0700, Nuno Das Neves wrote:
> On 8/24/2023 11:31 AM, Boqun Feng wrote:
> > On Thu, Aug 17, 2023 at 03:01:51PM -0700, Nuno Das Neves wrote:
> > [...]
> >> +static long
> >> +mshv_dev_ioctl(struct file *filp, unsigned int ioctl, unsigned long arg)
> >> +{
> >> +	switch (ioctl) {
> >> +	case MSHV_CHECK_EXTENSION:
> >> +		return mshv_ioctl_check_extension((void __user *)arg);
> >> +	case MSHV_CREATE_PARTITION:
> >> +		return mshv.create_partition((void __user *)arg);
> >> +	case MSHV_CREATE_VTL:
> >> +		return mshv.create_vtl((void __user *)arg);
> >> +	}
> >> +
> > 
> > Shouldn't we also have a MSHV_GET_API_VERSION ioctl similar as KVM? So
> > that in the future when we change these ioctl interfaces or semantics,
> > we can bump up the API version to avoid breaking userspace?
> > 
> 
> Note that we contribute and maintain support for this driver in
> Cloud Hypervisor, so we control both sides of this API - if we break
> userspace we can fix it ourselves.
> 

This actually doesn't always work, e.g. old Clould Hypervisor + new
kernel, but..

> For now the MSHV_CHECK_EXTENSION ioctl is sufficient - we can pass it
> MSHV_CAP_CORE_API_STABLE, and it will return 0 to indicate that the API
> is not yet stable.
> 

.. I missed that we are using this to report API is not stable, so I
agree, the API version is not needed for now.

> A version check may be useful in the future, but is not needed right now.
> 

Thanks for the explanation.

Regards,
Boqun

> Thanks
> Nuno Das Neves

_______________________________________________
linux-arm-kernel mailing list
[email-masked]
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel