commit | 62ffc0d7f87a61cea92749d4608fbc8075e62650 | [log] [tgz] |
---|---|---|
author | Pierre-Clément Tosi <ptosi@google.com> | Fri Jun 30 09:31:56 2023 +0000 |
committer | Pierre-Clément Tosi <ptosi@google.com> | Fri Jul 07 10:45:28 2023 +0000 |
tree | 2a69ab470ceb5e279c1b1c0ba445b38a8c8bc90a | |
parent | 67108c3cfa75fd0675ac900851bd6a86d8e45dd1 [diff] |
vmbase: Configure stack guard from Rust Move the thorough validation of the availability of TRNG that was performed in assembly to Rust and call rand::init() from the entry code of vmbase to unify the implementations. Use TRNG from rust_entry() to configure the stack guard (see the comment about rust_entry() ever returning). As a result, failing to configure it will now result in a logged error message as, previously, vmbase-based code would silently reboot, making it impossible to find out which check had failed (see b/267262026#comment89). Furthermore, failing to read the entropy for the u64 stack guard due to NO_ENTROPY will now result in vmbase retrying the HVC where it previously would abort the VM's boot. This implementation now only accepts versions of SMCCC between 1.1 and 2.0 (excl.) and TRNG between 1.0 and 2.0 (excl.) instead of resp. 1.1 and above and 1.0 and above. Bug: 274561905 Test: atest DebugPolicyHostTests#testNoAdbInDebugPolicy_withDebugLevelNone_boots Test: atest rialto_test vmbase_example.integration_test Change-Id: I5b95e77732e10ddfbc4476b6d7c698c5dc5f3b6e
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.