Re: [PATCH v1 1/1] virt: acrn: Drop internal kernel type from ABI

From: Greg Kroah-Hartman
Date: Fri Oct 01 2021 - 11:10:16 EST


On Fri, Oct 01, 2021 at 05:58:49PM +0300, Andy Shevchenko wrote:
> On Fri, Oct 01, 2021 at 04:01:41PM +0200, Greg Kroah-Hartman wrote:
> > On Fri, Oct 01, 2021 at 04:56:44PM +0300, Andy Shevchenko wrote:
> > > guid_t is internal type of the kernel which is mistakenly had been exposed
> > > to the user space. Replace it with raw buffers.
> >
> > Wait, why is it a mistake to expose it to userspace? What does this
> > conflict with? Is it a namespace issue? Or something else?
>
> It is the type which is defined solely for kernel use and what user space
> should do is to use types defined by respective libraries, such as libuuid.

But that does not work here. We want to expose a common uuid type that
userspace can use in these structures, as well as the kernel. Do you
really want to "open code" arrays all over the place?

> If you read the commit message to the end, you will notice that I have
> mentioned the possible scenario what happened here. They seems misusing
> guid_t as uuid_t, but the latter is not available for the users from
> the kernel headers (and this is good). So this is an exact example why
> guid_t shouldn't be exposed.

Then we should create a type that we can use here. The kernel can not
use libuuid, so what is wrong with using the kernel variable type
namespace for this? __guid? __uuid?

thanks,

greg k-h