Michael S. Tsirkin wrote:
On Wed, Dec 02, 2009 at 01:04:38PM +0100, Juan Quintela wrote:
This driver send a struct directly in the wire, where the struct
contains:
- target_phis_addr_t (can be 32 or 64 bits depending of host)
- void * (on host)
- size_t.

It has no hope of working across 32/64 or big/little endian.  This problem 
exist in previous one.

I don't understand how does it work at all.
Passing pointers in migration buffer?
Does guest just happen to get mapped at the same address
in qemu after migration?
Even with address randomization?

Does anyone know?

Also, no security, right?

It's not as bad as it looks, but it's something we need to correct in the VMstate conversion.

It turns out that the only bits that we ever use in this structure are the guest-visible bits. That's the ring indexes that we need to complete the request.

In the VMstate conversion, we should send the dummy fields as empty values as opposed to carrying forward this hack.

Regards,

Anthony Liguori



Reply via email to