Use walk_range when traversing the page tables without modifying them

modify_range() has been updated to split block entries to match the
provided range, so that modifications to the descriptor cannot impact
adjacent mappings inadvertently.

This is not always desirable, and most of our uses of modify_range()
don't make any changes at all to the descriptor so let's use the newly
added walk_range() instead. Note that the region is not expanded
outwards to match the granularity of the a block descriptor at the given
level, so we need to calculate this value from the level argument where
needed.

Test: build tested only
Change-Id: I154f7e7f64c58613dd409c17a7125c92db259314
3 files changed
tree: a3f5e63a2fc24789d320abfedc77640b5418cc64
  1. apex/
  2. apkdmverity/
  3. authfs/
  4. compos/
  5. demo/
  6. demo_native/
  7. docs/
  8. encryptedstore/
  9. javalib/
  10. launcher/
  11. libs/
  12. microdroid/
  13. microdroid_manager/
  14. pvmfw/
  15. rialto/
  16. secretkeeper/
  17. service_vm/
  18. tests/
  19. virtualizationmanager/
  20. virtualizationservice/
  21. vm/
  22. vm_payload/
  23. vmbase/
  24. vmclient/
  25. zipfuse/
  26. .clang-format
  27. .gitignore
  28. Android.bp
  29. OWNERS
  30. PREUPLOAD.cfg
  31. README.md
  32. rustfmt.toml
  33. 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: