OSDN Git Service

hostmem-ram: don't exit qemu if size of memory-backend-ram is way too big
authorHu Tao <hutao@cn.fujitsu.com>
Tue, 9 Sep 2014 05:27:58 +0000 (13:27 +0800)
committerPaolo Bonzini <pbonzini@redhat.com>
Tue, 9 Sep 2014 11:41:44 +0000 (13:41 +0200)
When using monitor command object_add to add a memory backend whose
size is way too big to allocate memory for it, qemu just exits. In
the case we'd better give an error message and keep guest running.

The problem can be reproduced as follows:

1. run qemu
2. (monitor)object_add memory-backend-ram,size=100000G,id=ram0

Reviewed-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com>
Signed-off-by: Hu Tao <hutao@cn.fujitsu.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
backends/hostmem-ram.c

index e55d066..a67a134 100644 (file)
@@ -27,7 +27,7 @@ ram_backend_memory_alloc(HostMemoryBackend *backend, Error **errp)
 
     path = object_get_canonical_path_component(OBJECT(backend));
     memory_region_init_ram(&backend->mr, OBJECT(backend), path,
-                           backend->size, &error_abort);
+                           backend->size, errp);
     g_free(path);
 }