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

Re: [Xen-devel] [PATCH 7/7] x86/pagewalk: Re-implement the pagetable walker



On 06/03/17 18:28, George Dunlap wrote:
> On 27/02/17 14:03, Andrew Cooper wrote:
>> The existing pagetable walker has complicated return semantics, which squeeze
>> multiple pieces of information into single integer.  This would be fine if 
>> the
>> information didn't overlap, but it does.
>>
>> Specifically, _PAGE_INVALID_BITS for 3-level guests alias _PAGE_PAGED and
>> _PAGE_SHARED.  A guest which constructs a PTE with bits 52 or 53 set (the
>> start of the upper software-available range) will create a virtual address
>> which, when walked by Xen, tricks Xen into believing the frame is paged or
>> shared.  This behaviour was introduced by XSA-173 (c/s 8b17648).
>>
>> It is also complicated to turn rc back into a normal pagefault error code.
>> Instead, change the calling semantics to return a boolean indicating success,
>> and have the function accumulate a real pagefault error code as it goes
>> (including synthetic error codes, which do not alias hardware ones).  This
>> requires an equivalent adjustment to map_domain_gfn().
>>
>> Issues fixed:
>>  * 2-level PSE36 superpages now return the correct translation.
>>  * 2-level L2 superpages without CR0.PSE now return the correct translation.
>>  * SMEP now inhibits a user instruction fetch even if NX isn't active.
>>  * Supervisor writes without CR0.WP now set the leaf dirty bit.
>>  * L4e._PAGE_GLOBAL is strictly reserved on AMD.
>>  * 3-level l3 entries have all reserved bits checked.
>>  * 3-level entries can no longer alias Xen's idea of paged or shared.
>>
>> Signed-off-by: Andrew Cooper <andrew.cooper3@xxxxxxxxxx>
> Andy,
>
> Have you got this in a tree somewhere?  This doesn't seem to apply to
> staging, and I don't think I'm going to be able to give it a proper
> review without seeing the changes in-situ.  (Or if you're close to
> reposting I'll wait for the repost.)

I do have some bits an pieces (although I am some of your acks on the
earlier trivial patches.)

This patch isn't going to change in any significant way, so here you go.

http://xenbits.xen.org/gitweb/?p=people/andrewcoop/xen.git;a=shortlog;h=refs/heads/pagewalk-v1

~Andrew

_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
https://lists.xen.org/xen-devel

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.