commit | f0875038c6875f11a2bc561ffda5e729c54097d0 | [log] [tgz] |
---|---|---|
author | Steven Moreland <smoreland@google.com> | Mon Feb 24 22:11:59 2025 +0000 |
committer | Steven Moreland <smoreland@google.com> | Mon Feb 24 23:52:56 2025 +0000 |
tree | 7b6004a6972495a5e4478ccc04ee56db86765f74 | |
parent | 89f20a687e25ede6370070c29ada17ab29a68c99 [diff] |
AVF: allow FD -> IBinder. Okay, so before we have two APIs: - connectToVsockServer "AB" - connectVsock "A" This adds: - binderFromPreconnectedClient "B" That is: - connectToVsockServer = connectVsock + binderFromPreconnectedClient Normally, in the same process, you do all of this, but to pass a connection to another process, imagine processes "Q -> R -> S", where: - Q is client - R is VM creator - S is VM Then Q can call binderFromPreconnectedClient, and it can implement the provider by calling an API on R which will return the results of R calling connectVsock. Non-binder use of connectVsock is not recommended. Bugs: me and without this, extra hops cost performannce Test: atest MicrodroidTestApp - several tests pass, so letting TH run the rest Change-Id: I670243714bbb6167a1fdae2bb898b1f5a9d01f5f
Android Virtualization Framework (AVF) provides secure and private execution environments for executing code. AVF is ideal for security-oriented use cases that require stronger isolation assurances over those offered by Android’s app sandbox.
Visit our public doc site to learn more about what AVF is, what it is for, and how it is structured. This repository contains source code for userspace components of AVF.
If you want a quick start, see the getting started guideline and follow the steps there.
For in-depth explanations about individual topics and components, visit the following links.
AVF components:
AVF APIs:
How-Tos: