Re: [PATCH RFC v2 6/6] KVM: introduce a new API for getting dirty bitmaps

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

 



On 04/23/2010 01:20 PM, Alexander Graf wrote:

I would say the reason is that if we did not convert the user-space pointer to
a "void *" kvm_get_dirty_log() would end up copying the dirty log to

(log->dirty_bitmap<<  32) | 0x00000000
Well yes, that was the problem. If we always set the __u64 value to the pointer we're safe though.

union {
   void *p;
   __u64 q;
}

void x(void *r)
{
   // breaks:
   p = r;

   // works:
   q = (ulong)r;
}

In that case it's better to avoid p altogether, since users will naturally assign to the pointer.

Using a 64-bit integer avoids the problem (though perhaps not sufficient for s390, Arnd?)

--
Do not meddle in the internals of kernels, for they are subtle and quick to panic.

--
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