On 30.06.2011, at 18:00, Avi Kivity <a...@redhat.com> wrote:

> On 06/30/2011 06:22 PM, Alexander Graf wrote:
>>> Regarding that.  There's another option - the ioctl code embeds the 
>>> structure size.  So if we extend the ioctl parsing to pad up (or truncate 
>>> down) from the user's size to our size, and similarly in the other 
>>> direction, we can get away from this ugliness.
>>> 
>>> Some years ago I posted a generic helper that did this (and also kmalloc'ed 
>>> and kfree'd the data itself), but it wasn't received favourably.  Maybe I 
>>> should try again (and we can possibly use it in kvm even if it is rejected 
>>> for general use, though that's against our principles of pushing all 
>>> generic infrastructure to the wider kernel).
>> 
>> 
>> That does sound interesting, but requires a lot more thought to be put into 
>> the actual code, as we basically need to read out the feature bitmap, then 
>> provide a minimum size for the chosen features and then decide if they fit 
>> in.
> 
> 
> Why? just put the things you want in the structure.
> 
> old userspace -> new kernel: we auto-zero the parts userspace left out, and 
> zero means old behaviour, so everthing works
> new userspace -> old kernel: truncate.  Userspace shouldn't have used any new 
> features (KVM_CAP), and we can -EINVAL if the truncated section contains a 
> nonzero bit.

Yup, which requires knowledge in the code on what actually fits :). Logic we 
don't have today.


Alex

_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Reply via email to