acrn-hypervisor/hypervisor
Li Fei1 01b54241c6 hv: ept: only treak execution right for large pages
To mitigate the page size change MCE vulnerability (CVE-2018-12207), ACRN would
clear the execution permission in the EPT paging-structure entries for large pages
and then intercept an EPT execution-permission violation caused by an attempt to
execution an instruction in the guest.

However, the current code would clear the execution permission in the EPT paging-
structure entries for small pages too when we clearing the the execution permission
for large pages. This would trigger extra EPT violation VM exits.

This patch fix this issue.

Signed-off-by: Li Fei1 <fei1.li@intel.com>
Acked-by: Eddie Dong <eddie.dong@intel.com>
Tracked-On: #5788
2021-03-03 13:46:49 +08:00
..
acpi_parser hv: cleanup legacy terminologies in RTCM module 2021-01-28 11:29:25 +08:00
arch/x86 hv: ept: only treak execution right for large pages 2021-03-03 13:46:49 +08:00
boot HV: refine acpi rsdp initialize interface 2021-02-26 16:38:32 +08:00
bsp/ld HV: add a specific stack space used in CPU booting 2020-04-29 13:56:40 +08:00
common hv: page: use dynamic page allocation for pagetable mapping 2021-03-01 13:10:04 +08:00
debug hv: modularization: change of multiboot API. 2021-01-27 15:59:47 +08:00
dm hv: page: use dynamic page allocation for pagetable mapping 2021-03-01 13:10:04 +08:00
hw HV: deny HV owned PCI bar access from SOS 2021-02-03 14:01:23 +08:00
include hv: page: add free_page 2021-03-01 13:10:04 +08:00
lib HV: replace merge_cmdline api with strncat_s 2020-06-08 13:30:04 +08:00
release refine hypercall 2020-08-26 14:55:24 +08:00
scripts Makefile: do not define default BOARD/SCENARIO in top-level Makefile 2021-03-03 09:13:44 +08:00
Kconfig HV: config: add Kconfig and defconfigs for sbl & uefi 2018-06-08 17:21:13 +08:00
MAINTAINERS update home page information 2018-05-15 17:19:39 +08:00
Makefile hv: page: use dynamic page allocation for pagetable mapping 2021-03-01 13:10:04 +08:00
README.rst doc: fix utf-8 punctuation, branding, spelling 2019-03-14 09:13:58 -07:00

ACRN Hypervisor
###############

The open source `Project ACRN`_ defines a device hypervisor reference stack and
an architecture for running multiple software subsystems, managed securely, on
a consolidated system by means of a virtual machine manager. It also defines a
reference framework implementation for virtual device emulation, called the
"ACRN Device Model".

The ACRN Hypervisor is a Type 1 reference hypervisor stack, running directly on
the bare-metal hardware, and is suitable for a variety of IoT and embedded
device solutions. The ACRN hypervisor addresses the gap that currently exists
between datacenter hypervisors, and hard partitioning hypervisors. The ACRN
hypervisor architecture partitions the system into different functional
domains, with carefully selected guest OS sharing optimizations for IoT and
embedded devices.

You can find out more about Project ACRN on the `Project ACRN documentation`_
website.

.. _`Project ACRN`: https://projectacrn.org
.. _`ACRN Hypervisor`: https://github.com/projectacrn/acrn-hypervisor
.. _`Project ACRN documentation`: https://projectacrn.github.io/