Avi Kivity <a...@redhat.com> writes:

> On 09/03/2012 03:33 PM, Rusty Russell wrote:
>> Avi Kivity <a...@redhat.com> writes:
>>> On 09/01/2012 03:35 PM, Rusty Russell wrote:
>>>> Passing an address in a struct is pretty bad, since it involves
>>>> compatibility wrappers.  
>>>
>>> Right, some s390 thing.
>> 
>> Err, no, i386 on x86-64, or ppc32 on ppc64, or arm on arm64....
>> 
>> Any time you put a pointer in a structure which is exposed to userspace,
>> you have to deal with this.
>
> Not is you pack the pointer in a __u64, which is what we do to preserve
> padding.  Then it is only s390 which needs extra love.

OK, yes.  Or skip pointers altogether, like I do.

> Another option is to use the size parameter from the ioctl.  It just
> sits there doing nothing.

Not nothing, it defines the head struct size.  It's redundant, but
proven a useful sanity check over the years.

Perhaps somewhere else does use these 14 bits to represent a variable
size, but it would surprise me a bit to see it.  We'd probably want some
way to tell userspace the size then, so we have a different redundancy.

We're being too clever, that's why I copied the x86 MSR discovery
interface.

Cheers,
Rusty.
--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to