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

[Xen-devel] [PATCH v3 0/6] Fixes to pagetable handling



This series has been a long time in preparation (i.e. most of the 4.8 and 4.9
dev cycles).  It started when I tried to make an XTF PoC for XSA-176, and
stumbled upon the the _PAGE_PAGED aliasing issue (see patch 7) which caused by
PoC to be descheduled waiting for (a non-existent) paging agent to respond.

This series is built upon:
  1) The switch to using _Bool. I spent rather too long trying to debug why
     CR0.WP wasn't behaving properly, and it was down to static inline bool_t
     guest_wp_enabled().
  2) The series to switch emulation to using system-segment relative memory
     accesses (directly relevant to patches 1 and 2), which in turn resulted
     in the discovery of XSA-191.
  3) The CPUID improvement work to get maxphysaddr into a sensibly audited
     state, and sensibly accessible location.

Since v2, some patches have been committed.  All other fixes are from review.

Andrew Cooper (6):
  x86/pagewalk: Clean up guest_supports_* predicates
  x86/pagewalk: Helpers for reserved bit handling
  x86/pagewalk: Re-implement the pagetable walker
  x86/shadow: Use the pagewalk reserved bits helpers
  x86/pagewalk: Improve the logic behind setting access and dirty bits
  x86/pagewalk: non-functional cleanup

 xen/arch/x86/mm/guest_walk.c      | 575 +++++++++++++++++++++-----------------
 xen/arch/x86/mm/hap/guest_walk.c  |  21 +-
 xen/arch/x86/mm/hap/nested_ept.c  |   2 +-
 xen/arch/x86/mm/p2m.c             |  17 +-
 xen/arch/x86/mm/shadow/multi.c    | 102 ++++---
 xen/include/asm-x86/cpufeature.h  |   1 +
 xen/include/asm-x86/guest_pt.h    | 228 ++++++++++++---
 xen/include/asm-x86/hvm/hvm.h     |   4 -
 xen/include/asm-x86/p2m.h         |   2 +-
 xen/include/asm-x86/page.h        |   3 -
 xen/include/asm-x86/processor.h   |   2 +
 xen/include/asm-x86/x86_64/page.h |   6 -
 12 files changed, 579 insertions(+), 384 deletions(-)

-- 
2.1.4


_______________________________________________
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®.