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

2013-05-28 Thread 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 0xf000 which not only ends up selecting reserved bits b

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

2013-05-30 Thread Luiz Capitulino
On Tue, 28 May 2013 14:19:22 -0400 Luiz Capitulino wrote: > 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

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

2013-05-30 Thread Laszlo Ersek
On 05/30/13 14:59, Luiz Capitulino wrote: > On Tue, 28 May 2013 14:19:22 -0400 > Luiz Capitulino wrote: > >> 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 stor

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

2013-05-30 Thread Luiz Capitulino
On Thu, 30 May 2013 15:16:18 +0200 Laszlo Ersek wrote: > On 05/30/13 14:59, Luiz Capitulino wrote: > > On Tue, 28 May 2013 14:19:22 -0400 > > Luiz Capitulino wrote: > > > >> The code used to walk IA-32e page-tables, and possibly PAE page-tables, > >> uses the bit mask ~0xfff to get the next PML

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

2013-05-30 Thread Andreas Färber
Am 30.05.2013 15:16, schrieb Luiz Capitulino: > On Thu, 30 May 2013 15:16:18 +0200 > Laszlo Ersek wrote: > >> On 05/30/13 14:59, Luiz Capitulino wrote: >>> On Tue, 28 May 2013 14:19:22 -0400 >>> Luiz Capitulino wrote: >>> The code used to walk IA-32e page-tables, and possibly PAE page-table

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

2013-05-30 Thread Luiz Capitulino
On Thu, 30 May 2013 16:10:28 +0200 Andreas Färber wrote: > Am 30.05.2013 15:16, schrieb Luiz Capitulino: > > On Thu, 30 May 2013 15:16:18 +0200 > > Laszlo Ersek wrote: > > > >> On 05/30/13 14:59, Luiz Capitulino wrote: > >>> On Tue, 28 May 2013 14:19:22 -0400 > >>> Luiz Capitulino wrote: > >>>

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

2013-05-30 Thread Andreas Färber
Am 30.05.2013 16:14, schrieb Luiz Capitulino: > On Thu, 30 May 2013 16:10:28 +0200 > Andreas Färber wrote: > >> Am 30.05.2013 15:16, schrieb Luiz Capitulino: >>> On Thu, 30 May 2013 15:16:18 +0200 >>> Laszlo Ersek wrote: >>> On 05/30/13 14:59, Luiz Capitulino wrote: > On Tue, 28 May 201

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

2013-05-30 Thread Andreas Färber
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 0xf

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

2013-05-30 Thread Luiz Capitulino
On Thu, 30 May 2013 16:22:32 +0200 Andreas Färber wrote: > Am 30.05.2013 16:14, schrieb Luiz Capitulino: > > On Thu, 30 May 2013 16:10:28 +0200 > > Andreas Färber wrote: > > > >> Am 30.05.2013 15:16, schrieb Luiz Capitulino: > >>> On Thu, 30 May 2013 15:16:18 +0200 > >>> Laszlo Ersek wrote: >