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: Philippe Mathieu-Daudé
Subject: Re: [PATCH 1/2] RFC: savevm: check RAM is page_size aligned
Date: Fri, 3 Jan 2020 06:06:18 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.2.2

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

      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]