From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:37060) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XSRNt-0005qS-6r for qemu-devel@nongnu.org; Fri, 12 Sep 2014 09:59:37 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1XSRNo-0000u0-Lm for qemu-devel@nongnu.org; Fri, 12 Sep 2014 09:59:33 -0400 Received: from mail-qg0-x22b.google.com ([2607:f8b0:400d:c04::22b]:40476) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1XSRNo-0000tl-IS for qemu-devel@nongnu.org; Fri, 12 Sep 2014 09:59:28 -0400 Received: by mail-qg0-f43.google.com with SMTP id a108so769153qge.30 for ; Fri, 12 Sep 2014 06:59:28 -0700 (PDT) Sender: Paolo Bonzini From: Paolo Bonzini Date: Fri, 12 Sep 2014 15:58:46 +0200 Message-Id: <1410530338-17615-10-git-send-email-pbonzini@redhat.com> In-Reply-To: <1410530338-17615-1-git-send-email-pbonzini@redhat.com> References: <1410530338-17615-1-git-send-email-pbonzini@redhat.com> Subject: [Qemu-devel] [PULL 09/21] hostmem-ram: don't exit qemu if size of memory-backend-ram is way too big List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Hu Tao From: Hu Tao 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 Signed-off-by: Hu Tao Signed-off-by: Paolo Bonzini --- backends/hostmem-ram.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backends/hostmem-ram.c b/backends/hostmem-ram.c index e55d066..a67a134 100644 --- a/backends/hostmem-ram.c +++ b/backends/hostmem-ram.c @@ -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); } -- 2.1.0