qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] [PATCH] exec;fix early return from ram_block_add


From: Paolo Bonzini
Subject: [Qemu-devel] [PATCH] exec;fix early return from ram_block_add
Date: Wed, 9 Mar 2016 18:16:58 +0100

After reporting an error, ram_block_add was going on with the registration
of the RAMBlock.  The visible effect is that it unlocked the ramlist
mutex twice.

Fixes: 528f46af6ecd1e300db18684969104d4067b867b
Cc: Fam Zheng <address@hidden>
Signed-off-by: Paolo Bonzini <address@hidden>
---
 exec.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/exec.c b/exec.c
index d972737..11a5fa1 100644
--- a/exec.c
+++ b/exec.c
@@ -1588,6 +1588,7 @@ static void ram_block_add(RAMBlock *new_block, Error 
**errp)
             if (err) {
                 error_propagate(errp, err);
                 qemu_mutex_unlock_ramlist();
+                return;
             }
         } else {
             new_block->host = phys_mem_alloc(new_block->max_length,
@@ -1597,6 +1598,7 @@ static void ram_block_add(RAMBlock *new_block, Error 
**errp)
                                  "cannot set up guest memory '%s'",
                                  memory_region_name(new_block->mr));
                 qemu_mutex_unlock_ramlist();
+                return;
             }
             memory_try_enable_merging(new_block->host, new_block->max_length);
         }
-- 
2.5.0




reply via email to

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