commit | d40ff91f658df0a8abd33458673599ba728fe7f6 | [log] [tgz] |
---|---|---|
author | Pierre-Clément Tosi <ptosi@google.com> | Thu Jun 30 16:11:33 2022 +0100 |
committer | Pierre-Clément Tosi <ptosi@google.com> | Thu Jun 30 17:52:28 2022 +0100 |
tree | f49e49c5a77b22d0536a1f84e4cc59e5faaf93cc | |
parent | 6decdfa2c6fa4e856af50c6052dd3ca1791a7619 [diff] |
vmbase: Handle very early exceptions Introduce a vector table to provide a predictable behavior when exceptions are raised before the Rust runtime is ready i.e. before vector_table_el1 may be used. With this table, exceptions are "handled" by attempting a PSCI_SYSTEM_RESET call and hanging if that returns. For example, this may prevent a malicious host from triggering a fault when entry.S accesses .data or .bss in entry.S and getting arbitrary code execution from VBAR_EL1. Bug: 237659918 Test: atest vmbase_example.integration_test Signed-off-by: Pierre-Clément Tosi <ptosi@google.com> Change-Id: I5106e32b3118ec691ea6a7a80516d8c29918563c
This repository contains userspace services related to running virtual machines on Android, especially protected virtual machines. See the getting started documentation and Microdroid README for more information.