[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:22:32 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130510 Thunderbird/17.0.6 |
Am 30.05.2013 16:14, schrieb Luiz Capitulino:
> On Thu, 30 May 2013 16:10:28 +0200
> Andreas Färber <address@hidden> wrote:
>
>> Am 30.05.2013 15:16, schrieb Luiz Capitulino:
>>> On Thu, 30 May 2013 15:16:18 +0200
>>> Laszlo Ersek <address@hidden> wrote:
>>>
>>>> On 05/30/13 14:59, Luiz Capitulino wrote:
>>>>> On Tue, 28 May 2013 14:19:22 -0400
>>>>> Luiz Capitulino <address@hidden> 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 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>
>>>>>
>>>>> Ping? Wen?
>>>>>
>>>>> Would be nice get a Reviewed-by before merging...
>>>>
>>>> I didn't miss your submission and did find it OK, I just felt unsure
>>>> about stating so, because "simple" patches like this are prime territory
>>>> to burn someone's R-b's worth (ie. to expose a reviewer's lack of
>>>> information / experience). But hey, what can I lose? The patch does look
>>>> good to me, so
>>>
>>> Thank you Laszlo! It's also new territory for me, that's why I'm asking
>>> for reviews (otherwise I'd just sneak it in some pull request :-)
>>
>> Luiz, you aware aware that I have another fix by Nuohan queued that
>> seemed orthogonal?
>
> Yes, they should be orthogonal.
>
>> If someone reviews my refactoring series (which
>> resent that patch) I would like to send out a PULL for that rather soon,
>> since it blocks further CPU work. I would then include your fix as well
>> to avoid merge conflicts.
>
> Thanks, although I was going to include it in my tomorrow's QMP pull
> request. Will this disturb your work?
I hope not - could you then please pick up Nuohan's bugfix as well?
Still I'd be interested in your review - and I have one more patch to
add that I created offline yesterday wrt first paging-enabled CPU.
Andreas
--
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg
Re: [Qemu-devel] [PATCH] walk_pml4e(): fix abort on bad PML4E/PDPTE/PDE/PTE addresses, Andreas Färber, 2013/05/30