qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH] walk_pml4e(): fix abort on bad PML4E/PDPTE/PDE/


From: Andreas Färber
Subject: Re: [Qemu-devel] [PATCH] walk_pml4e(): fix abort on bad PML4E/PDPTE/PDE/PTE addresses
Date: Thu, 30 May 2013 16:29:47 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130510 Thunderbird/17.0.6

Am 28.05.2013 20:19, schrieb Luiz Capitulino:
> The code used to walk IA-32e page-tables, and possibly PAE page-tables,
> uses the bit mask ~0xfff to get the next PML4E/PDPTE/PDE/PTE address.
> 
> However, as we use a uint64_t to store the resulting address, that mask
> gets expanded to 0xfffffffffffff000 which not only ends up selecting
> reserved bits but also selects the XD bit (execute-disable) which
> happens to be enabled by Windows 8, causing qemu_get_ram_ptr() to abort.
> 
> This commit fixes that problem by replacing ~0xfff by a correct mask
> that only selects the address bit range (ie. bits 51:12).
> 
> Signed-off-by: Luiz Capitulino <address@hidden>

Reviewed-by: Andreas Färber <address@hidden>

But please add a target-i386: prefix when queuing it.

Andreas

-- 
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg



reply via email to

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