Chris Wright wrote:
>>> struct ksm_memory_region {
>>> __u32 npages; /* number of pages to share */
>>> __u64 addr; /* the begining of the virtual address */
>>> };
>>>
>> why isnt it compat safe?
>>
>
> 32-bit has more relaxed alignment requirement for __u64 (4 bytes)
> than 64-bit (8 bytes). choices are reverse the order or add padding
> (can test by compiling structure in 32 and 64 bit).
>
Reversing the order isn't good enough, since the structure size would be
different, and that is embedded in the ioctl number. Padding is necessary.
[wishlist: struct { ... } __attribute__((abi_x86_64));]
--
Any sufficiently difficult bug is indistinguishable from a feature.
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
kvm-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/kvm-devel