From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=51672 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PIRqD-0007EA-RG for qemu-devel@nongnu.org; Tue, 16 Nov 2010 15:09:22 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1PIRqC-00016N-0j for qemu-devel@nongnu.org; Tue, 16 Nov 2010 15:09:21 -0500 Received: from mail-iw0-f173.google.com ([209.85.214.173]:39334) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1PIRqB-00016J-Sa for qemu-devel@nongnu.org; Tue, 16 Nov 2010 15:09:19 -0500 Received: by iwn36 with SMTP id 36so1244818iwn.4 for ; Tue, 16 Nov 2010 12:09:19 -0800 (PST) Message-ID: <4CE2E4ED.1000502@codemonkey.ws> Date: Tue, 16 Nov 2010 14:09:17 -0600 From: Anthony Liguori MIME-Version: 1.0 Subject: Re: [Qemu-devel] [PATCH] multiboot: Prevent loading of x86_64 images References: <20101104222214.GC30050@os.inf.tu-dresden.de> In-Reply-To: <20101104222214.GC30050@os.inf.tu-dresden.de> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Adam Lackorzynski Cc: qemu-devel@nongnu.org On 11/04/2010 05:22 PM, Adam Lackorzynski wrote: > A via -kernel supplied x86_64 ELF image is being started in 32bit mode. > Detect and exit if a 64bit image has been supplied. > > Signed-off-by: Adam Lackorzynski > Acked-by: Alexander Graf > Applied. Thanks. Regards, Anthony Liguori > --- > hw/multiboot.c | 6 ++++++ > 1 files changed, 6 insertions(+), 0 deletions(-) > > diff --git a/hw/multiboot.c b/hw/multiboot.c > index f9097a2..e710bbb 100644 > --- a/hw/multiboot.c > +++ b/hw/multiboot.c > @@ -171,6 +171,12 @@ int load_multiboot(void *fw_cfg, > uint64_t elf_low, elf_high; > int kernel_size; > fclose(f); > + > + if (((struct elf64_hdr*)header)->e_machine == EM_X86_64) { > + fprintf(stderr, "Cannot load x86-64 image, give a 32bit one.\n"); > + exit(1); > + } > + > kernel_size = load_elf(kernel_filename, NULL, NULL,&elf_entry, > &elf_low,&elf_high, 0, ELF_MACHINE, 0); > if (kernel_size< 0) { >