Re: Heads up: More user-unaccessible x86 states?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 10/05/2009 02:42 PM, Jan Kiszka wrote:

Yes, for big-endian 32/64 and s390.  There are some patches floating around.
Well, that's for fixing up the endianess of the bitmap itself. But the
problem with void * in compat code are their different sizes. And
GET_DIRTY_LOG solves this via padding:

	union {
		void __user *dirty_bitmap;
		__u64 padding2;
	};

So this should not make pointers a no-go, should it?

No, it doesn't work. Big-endian will place the pointer at offset zero which is the high-end word when read by the host; and 31-bit s390 needs something unsurprisingly strange to be done to the pointer.

The patches I mentioned involve creating a compat_ioctl callback, something which I tried to avoid but failed, not having considered big-endian and s390.

We'll probably have to deal with both. Therefore, I'm looking for a
unified solution.


array of

struct {
     __u16 type;
     __u16 offset;
} ?

For sure possible, just the setup of such data structure in user space
gets a bit, well, unhandy.

Yes.  Fixed-offset substructures are a lot easier and less error-prone.

--
error compiling committee.c: too many arguments to function

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

[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux