1
0
mirror of https://github.com/projectacrn/acrn-hypervisor.git synced 2025-05-02 05:34:04 +00:00
acrn-hypervisor/hypervisor
Wu Zhou fa97e32917 hv: bugfix: skip invalid ffs64 return value
ffs64() returns INVALID_BIT_INDEX (0xffffU) when it tries to deal with
zero input value. This may happen In calculate_logical_dest_mask() when
the guest tries to write some illegal destination IDs to MSI config
registers of a pt-device. The ffs64() return value is used as per_cpu
array index, and it would cause a page fault.

This patch adds protection to the per_cpu array, making this function
return zero on illegal value. As in logical destination's definition, a
zero logical designation would point to no CPU.

Fixes: 89d11d91e
Tracked-On: 
Signed-off-by: Wu Zhou <wu.zhou@intel.com>
Reviewed-by: Junjie Mao <junjie.mao@intel.com>
2023-07-14 17:38:16 +08:00
..
acpi_parser Update copyright year range in code headers 2022-07-15 11:48:35 +08:00
arch/x86 hv: bugfix: skip invalid ffs64 return value 2023-07-14 17:38:16 +08:00
boot hv: tsc: calibrate TSC by HPET 2022-07-17 16:48:47 +08:00
bsp/ld HV: fix MISRA violation of _ld_ram_xxx 2021-11-26 16:45:17 +08:00
common hv: Write _CPC to guests' ACPI when VHWP is enabled 2023-06-09 10:06:42 +08:00
debug hv: support for pci uart with high mmio 2022-11-21 16:50:05 +08:00
dm hv: vpci: ignore PCI I/O BAR with non-zero upper 16 bits 2023-06-26 14:40:57 +08:00
hw hv: pci: use mmio_read/write directly 2022-10-26 01:02:20 +08:00
include hv: bugfix: fix the ptdev irq destination issue 2023-07-05 17:41:16 +08:00
lib Update copyright year range in code headers 2022-07-15 11:48:35 +08:00
quirks Update copyright year range in code headers 2022-07-15 11:48:35 +08:00
release hv: fix compile issue in release mode 2022-10-21 14:24:02 +08:00
scripts Makefile: do not try to figure out BOARD and SCENARIO for cleanup 2022-10-26 14:09:44 +08:00
Makefile hv: change the version format 2022-11-21 09:45:26 +08:00
README.rst

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/