virtiofs: Add AVF API to share directory paths

This patch adds the API to share directory path between host
and guest.

The path to be shared is taken as an input from vm_config.json;

```
    "sharedPath": [
        {
            "sharedPath": "/data/data/com.google.android.virtualization.terminal/files"
        }
    ],
```

The UID-GID mapping between host and guest is constructed on the fly
based on the active user.

Currently, terminal app's internal storage is set as default; but this
can be changed as required.

This is now disabled by default - the feature will be enabled once
all the dependencies related to crosvm lands.

Bug: 372171883
Test: Share terminal app internal storage to guest VM. Read "debian.log"
files inside the guest. Verify UID-GID mappings are set correctly to the
files.

Change-Id: I9f2e7d9167a00c8383523bbd238a48b06afa4c2e
Signed-off-by: Akilesh Kailash <akailash@google.com>
7 files changed
tree: ed23879d08a1636987ec7d17db09e0d93694662b
  1. android/
  2. build/
  3. docs/
  4. guest/
  5. libs/
  6. microfuchsia/
  7. tests/
  8. .clang-format
  9. .gitignore
  10. Android.bp
  11. dice_for_avf_guest.cddl
  12. OWNERS
  13. PREUPLOAD.cfg
  14. README.md
  15. rustfmt.toml
  16. TEST_MAPPING
README.md

Android Virtualization Framework (AVF)

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: