Hi On Fri, Jan 3, 2020 at 9:06 AM Philippe Mathieu-Daudé <phi...@redhat.com> wrote: > > Hi Marc-André, > > On 1/2/20 10:01 PM, Marc-André Lureau wrote: > > Check the host pointer is correctly aligned, otherwise we may fail > > during migration in ram_block_discard_range(). > > > > Signed-off-by: Marc-André Lureau <marcandre.lur...@redhat.com> > > --- > > migration/savevm.c | 5 +++++ > > 1 file changed, 5 insertions(+) > > > > diff --git a/migration/savevm.c b/migration/savevm.c > > index a71b930b91..ab6e02011f 100644 > > --- a/migration/savevm.c > > +++ b/migration/savevm.c > > @@ -2910,6 +2910,11 @@ err_drain: > > > > void vmstate_register_ram(MemoryRegion *mr, DeviceState *dev) > > { > > + RAMBlock *rb = mr->ram_block; > > + uintptr_t hostaddr = (uintptr_t)qemu_ram_get_host_addr(rb); > > + > > + assert((hostaddr & (qemu_ram_pagesize(rb) - 1)) == 0); > > Can we use the QEMU_PTR_IS_ALIGNED() macro instead? > > assert(QEMU_PTR_IS_ALIGNED(qemu_ram_get_host_addr(rb), > qemu_ram_pagesize(rb))); >
nice, good idea > > qemu_ram_set_idstr(mr->ram_block, > > memory_region_name(mr), dev); > > qemu_ram_set_migratable(mr->ram_block); > > >