All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 00/23] Vixen: A PV-in-HVM shim
@ 2018-01-07 20:28 Anthony Liguori
  2018-01-07 20:28 ` [PATCH v2 01/23] ---- x86/Kconfig: Options for Xen and PVH support Anthony Liguori
                   ` (23 more replies)
  0 siblings, 24 replies; 46+ messages in thread
From: Anthony Liguori @ 2018-01-07 20:28 UTC (permalink / raw)
  To: xen-devel
  Cc: Wei Liu, Anthony Liguori, KarimAllah Ahmed, Andrew Cooper,
	Jan H. Schönherr, Matt Wilson, Roger Pau Monné

From: Anthony Liguori <aliguori@amazon.com>

CVE-2017-5754 is problematic for paravirtualized x86 domUs because it
appears to be very difficult to isolate the hypervisor's page tables
from PV domUs while maintaining ABI compatibility.  Instead of trying
to make a KPTI-like approach work for Xen PV, it seems reasonable to
run a copy of Xen within an HVM (or PVH) domU to provide backwards
compatibility with guests as mentioned in XSA-254 [1].

This patch series adds a new mode to Xen called Vixen (Virtualized
Xen) which provides a PV-compatible interface while gaining
CVE-2017-5754 protection for the host provided by hardware
virtualization.  Vixen supports running a single unprivileged PV
domain (a dom1) that is constructed by the dom0 domain builder.

Please note the Xen page table configuration fundamental to the
current PV ABI makes it impossible for an operating system to mitigate
CVE-2017-5754 through mechanisms like Kernel Page Table Isolation
(KPTI).  In order for an operating system to mitigate CVE-2017-5754 it
must run directly in a HVM or PVH domU.

This series is very similar to the PVH series posted by Wei and we
have been discussing how to merge efforts.  We were hoping to have
more time to work this out.  I am posting this because I'm fairly
confident that this series is complete (all PV instances in EC2 are
using this) and others might find it useful.  I also wanted to have
more of a discussion about the best way to merge and some of the
differences in designs.

This series is also available at:

 git clone https://github.com/aliguori/xen.git vixen-upstream-v2

Changelog:
v1 -> v2
 - fix ARM build
 - add vixen_domid command line parameter
 - make version pass through optional
 - pull in p2m mapping fix from sidewinder
 - panic if dom0_construct_pv fails
 - #defines for the vendor/device id of platform device
 - coding style for event channel polling
 - reserve even more in the e820 table based on hvm_info_table
 - moved shared info to special page range
 - make grant table frames come from special page range
 - refactor grant tables to use single dispatch function

Not in this version:
 - Avoiding vixen domain == hardware domain

Regards,

Anthony Liguori

[1] https://xenbits.xen.org/xsa/advisory-254.html

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xenproject.org
https://lists.xenproject.org/mailman/listinfo/xen-devel

^ permalink raw reply	[flat|nested] 46+ messages in thread

end of thread, other threads:[~2023-08-07 12:40 UTC | newest]

Thread overview: 46+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-01-07 20:28 [PATCH v2 00/23] Vixen: A PV-in-HVM shim Anthony Liguori
2018-01-07 20:28 ` [PATCH v2 01/23] ---- x86/Kconfig: Options for Xen and PVH support Anthony Liguori
2018-01-07 20:28 ` [PATCH v2 02/23] x86/entry: Probe for Xen early during boot Anthony Liguori
2018-01-07 20:28 ` [PATCH v2 03/23] x86/guest: Hypercall support Anthony Liguori
2018-01-07 20:28 ` [PATCH v2 04/23] x86: Don't use potentially incorrect CPUID values for topology information Anthony Liguori
2018-01-08 10:43   ` Andrew Cooper
2023-08-07  8:18   ` [Xen-devel] " Simon Gaiser
2023-08-07  8:39     ` Jan Beulich
2023-08-07  9:58       ` Simon Gaiser
2023-08-07 10:04         ` Jan Beulich
2023-08-07 12:39           ` Simon Gaiser
2023-08-07 10:10     ` Andrew Cooper
2018-01-07 20:28 ` [PATCH v2 05/23] char: optionally redirect {, g}printk output to QEMU debug log Anthony Liguori
2018-01-08 12:16   ` Wei Liu
2018-01-07 20:28 ` [PATCH v2 06/23] console: do not print banner if below info log threshold Anthony Liguori
2018-01-08 12:09   ` Wei Liu
2018-01-07 20:28 ` [PATCH v2 07/23] vixen: introduce is_vixen() to allow altering behavior Anthony Liguori
2018-01-08 12:18   ` Wei Liu
2018-01-07 20:28 ` [PATCH v2 08/23] vixen: allow dom0 to be created with a domid != 0 Anthony Liguori
2018-01-08 14:55   ` Wei Liu
2018-01-07 20:28 ` [PATCH v2 09/23] vixen: modify the e820 table to advertise HVM special pages as RAM Anthony Liguori
2018-01-08  0:18   ` Konrad Rzeszutek Wilk
2018-01-08  0:27     ` Anthony Liguori
2018-01-07 20:28 ` [PATCH v2 10/23] vixen: do not permit access to physical IRQs if in Vixen mode Anthony Liguori
2018-01-07 20:28 ` [PATCH v2 11/23] vixen: early initialization of Vixen including shared_info mapping Anthony Liguori
2018-01-07 20:28 ` [PATCH v2 12/23] vixen: paravirtualization TSC frequency calculation Anthony Liguori
2018-01-08 12:04   ` Wei Liu
2018-01-07 20:28 ` [PATCH v2 13/23] vixen: Use SCHEDOP_shutdown to shutdown the machine Anthony Liguori
2018-01-08  0:22   ` Konrad Rzeszutek Wilk
2018-01-08  0:27     ` Anthony Liguori
2018-01-07 20:28 ` [PATCH v2 14/23] vixen: forward VCPUOP_register_runstate_memory_area to outer Xen Anthony Liguori
2018-01-07 20:28 ` [PATCH v2 15/23] vixen: pass through version hypercalls to parent Xen Anthony Liguori
2018-01-08  0:27   ` Konrad Rzeszutek Wilk
2018-01-08  0:29     ` Anthony Liguori
2018-01-08  0:42       ` Konrad Rzeszutek Wilk
2018-01-07 20:28 ` [PATCH v2 16/23] vixen: pass grant table operations through to the outer Xen Anthony Liguori
2018-01-08 10:35   ` Roger Pau Monné
2018-01-07 20:28 ` [PATCH v2 17/23] vixen: setup infrastructure to receive event channel notifications Anthony Liguori
2018-01-07 20:28 ` [PATCH v2 18/23] vixen: Introduce ECS_PROXY for event channel proxying Anthony Liguori
2018-01-07 20:28 ` [PATCH v2 19/23] vixen: Fix Vixen adaptation of send_global_virq() Anthony Liguori
2018-01-07 20:28 ` [PATCH v2 20/23] vixen: event channel passthrough support Anthony Liguori
2018-01-07 20:28 ` [PATCH v2 21/23] vixen: provide Xencons implementation Anthony Liguori
2018-01-07 20:28 ` [PATCH v2 22/23] vixen: dom0 builder support Anthony Liguori
2018-01-07 20:28 ` [PATCH v2 23/23] vixen: use default position for the m2p mappings Anthony Liguori
2018-01-08 17:13 ` [PATCH v2 00/23] Vixen: A PV-in-HVM shim Wei Liu
2018-01-08 17:17   ` Anthony Liguori

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.