From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=35027 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PQOKe-0004P0-3W for qemu-devel@nongnu.org; Wed, 08 Dec 2010 13:01:37 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1PQOKc-0008T2-RE for qemu-devel@nongnu.org; Wed, 08 Dec 2010 13:01:35 -0500 Received: from mx1.redhat.com ([209.132.183.28]:19288) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1PQOKc-0008Sp-KF for qemu-devel@nongnu.org; Wed, 08 Dec 2010 13:01:34 -0500 Date: Wed, 8 Dec 2010 16:01:10 -0200 From: Luiz Capitulino Message-ID: <20101208160110.1b0c7c64@doriath> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Subject: [Qemu-devel] [PATCH] Fix segfault with ram_size > 4095M without kvm List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: amit.shah@redhat.com, aliguori@us.ibm.com, ryanh@us.ibm.com, aurelien@aurel32.net Currently, x86_64-softmmu qemu segfaults when trying to use > 4095M memsize. This patch adds a simple check and error message (much like the 2047 limit on 32-bit hosts) on ram_size in the control path after we determine we're not using kvm Upstream qemu-kvm is affected if using the -no-kvm option; this patch address the segfault there as well. Signed-off-by: Ryan Harper Signed-off-by: Aurelien Jarno --- NOTE: this patch was applied in the v0.12.x branch, but it seems it got lost for master vl.c | 6 ++++++ 1 files changed, 6 insertions(+), 0 deletions(-) diff --git a/vl.c b/vl.c index 2dbb6db..bb9c21c 100644 --- a/vl.c +++ b/vl.c @@ -5792,6 +5792,12 @@ int main(int argc, char **argv, char **envp) fprintf(stderr, "failed to initialize KVM\n"); exit(1); } + } else { + /* without kvm enabled, we can only support 4095 MB RAM */ + if (ram_size > (4095UL << 20)) { + fprintf(stderr, "qemu: without kvm support at most 4095 MB RAM can be simulated\n"); + exit(1); + } } if (qemu_init_main_loop()) { -- 1.7.3.3.402.ga48aa