Files
xen/docs
Andrew Cooper 59e89cdabc x86/vtx: Disable executable EPT superpages to work around CVE-2018-12207
CVE-2018-12207 covers a set of errata on various Intel processors, whereby a
machine check exception can be generated in a corner case when an executable
mapping changes size or cacheability without TLB invalidation.  HVM guest
kernels can trigger this to DoS the host.

To mitigate, in affected hardware, all EPT superpages are marked NX.  When an
instruction fetch violation is observed against the superpage, the superpage
is shattered to 4k and has execute permissions restored.  This prevents the
guest kernel from being able to create the necessary preconditions in the iTLB
to exploit the vulnerability.

This does come with a workload-dependent performance overhead, caused by
increased TLB pressure.  Performance can be restored, if guest kernels are
trusted not to mount an attack, by specifying ept=exec-sp on the command line.

This is part of XSA-304 / CVE-2018-12207

Signed-off-by: Andrew Cooper <andrew.cooper3@citrix.com>
Acked-by: George Dunlap <george.dunlap@citrix.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
2019-11-12 17:12:54 +00:00
..
2019-10-14 12:54:14 +01:00
2019-03-22 13:48:02 +00:00
2019-03-13 13:40:23 +00:00
2019-10-19 03:25:01 +01:00
2018-11-14 19:25:11 +00:00
2019-10-19 03:25:01 +01:00
2016-04-01 11:07:28 +08:00

Remus provides fault tolerance for virtual machines by sending continuous
checkpoints to a backup, which will activate if the target VM fails.

See the website at http://wiki.xen.org/wiki/Remus for details.

Using Remus with libxl on Xen 4.5 and higher:
 To enable network buffering, you need libnl 3.2.8
 or higher along with the development headers and command line utilities.
 If your distro does not have the appropriate libnl3 version, you can find
 the latest source tarball of libnl3 at http://www.carisma.slowglass.com/~tgr/libnl/

Disk replication:
 VMs protected by Remus need to use DRBD based disk backends. Specifically, you
 need a compile and install a custom version of DRBD, that is available publicly
 at https://github.com/rshriram/remus-drbd
 This code is based on DRBD 8.3.11 and uses a new replication protocol (named
 protocol D) for asynchronous disk checkpoint replication. A protected VM's DRBD
 disks on the primary and backup hosts need to be configured to use protocol D
 as the replication protocol. An example resource configuration file can be found
 in the aforementioned github repository.