qemu-devel
[Top][All Lists]
Advanced

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

Re: [PATCH 1/2] RFC: savevm: check RAM is page_size aligned


From: Marc-André Lureau
Subject: Re: [PATCH 1/2] RFC: savevm: check RAM is page_size aligned
Date: Fri, 3 Jan 2020 10:39:07 +0400

Hi

On Fri, Jan 3, 2020 at 9:06 AM Philippe Mathieu-Daudé <address@hidden> 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 <address@hidden>
> > ---
> >   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);
> >
>




reply via email to

[Prev in Thread] Current Thread [Next in Thread]