ANDROID: Verify virtio queue address ranges are valid

Partial backport of https://crrev.com/c/3945520

Excluded the x86_64 changes because I believe they are redundant.

Excluded the ipc_memory_mapper.rs changes because they are not
applicable to the target branch (there are no direct guest memory
accesses in that module).

Bug: 251802307
Test: TH
Change-Id: I75ab20d1a96f26326cd2d87586cd93e4bf53971c
Merged-In: I21bce5d1c60acdff79284cdad963849a6e19e19c
Merged-In: Id9a7b8b469247992afd98fe80593c5044c112406
2 files changed
tree: 654c391a6c77c02d72e2d52b65eb6e1a042ef3a9
  1. .cargo/
  2. .devcontainer/
  3. .github/
  4. aarch64/
  5. acpi_tables/
  6. arch/
  7. base/
  8. bin/
  9. bit_field/
  10. ci/
  11. common/
  12. cros_async/
  13. crosvm-fuzz/
  14. crosvm_control/
  15. crosvm_plugin/
  16. cuttlefish/
  17. devices/
  18. disk/
  19. docs/
  20. fuse/
  21. gpu_display/
  22. hypervisor/
  23. infra/
  24. integration_tests/
  25. io_uring/
  26. kernel_cmdline/
  27. kernel_loader/
  28. kvm/
  29. kvm_sys/
  30. libcras_stub/
  31. linux_input_sys/
  32. logo/
  33. media/
  34. net_sys/
  35. net_util/
  36. patches/
  37. power_monitor/
  38. protos/
  39. qcow_utils/
  40. resources/
  41. rutabaga_gfx/
  42. seccomp/
  43. serde_keyvalue/
  44. src/
  45. system_api_stub/
  46. tests/
  47. third_party/
  48. tools/
  49. tpm2/
  50. tpm2-sys/
  51. usb_sys/
  52. usb_util/
  53. vfio_sys/
  54. vhost/
  55. virtio_sys/
  56. vm_control/
  57. vm_memory/
  58. win_util/
  59. x86_64/
  60. .dockerignore
  61. .gitignore
  62. .rustfmt.toml
  63. all2android.sh
  64. Android.bp
  65. ARCHITECTURE.md
  66. Cargo.toml
  67. cargo2android.json
  68. cargo2android_defaults.bp
  69. cargo2android_module.bp
  70. CONTRIBUTING.md
  71. LICENSE
  72. METADATA
  73. navbar.md
  74. OWNERS
  75. OWNERS.android
  76. PREUPLOAD.cfg
  77. README.chromeos.md
  78. README.md
  79. run_c2a.sh
  80. run_tests
  81. rust-toolchain
  82. setup_cros_cargo.sh
  83. test_all
  84. TEST_MAPPING
  85. unblocked_terms.txt
README.md

crosvm - The Chrome OS Virtual Machine Monitor

crosvm is a virtual machine monitor (VMM) based on Linux’s KVM hypervisor, with a focus on simplicity, security, and speed. crosvm is intended to run Linux guests, originally as a security boundary for running native applications on the Chrome OS platform. Compared to QEMU, crosvm doesn’t emulate architectures or real hardware, instead concentrating on paravirtualized devices, such as the virtio standard.

crosvm is currently used to run Linux/Android guests on Chrome OS devices.

Logo