[kernel][vm] More rigorous VDSO unmap range check

This modifies the range check in Unmap to account for the range
partially overlapping with the vdso mapping. Presently there is no way
to actually trigger this since
 * `allow_partial_vmar` must be true for the previous check to not be
   sufficient.
 * `allow_partial_vmar` is only true when called from
   `UnmapAllowPartial`, which is only called from from the hypervisor
   code against a guest physical address space, and such an address
   space does not have a vdso.

No tests are added for this change since
 * Userspace cannot trigger this as there is no way for it to cause
   `UnmapAllowPartial` to get called on an address space with a vdso.
 * Kernel cannot presently clone the VDso VMO itself to create a fake
   address space for testing.

ZX-4394 #done

Change-Id: I38128b9ebd3046b6c98f33c88f7608cf7e348219
1 file changed
tree: e6ac411bb3fe602d92b2e56d9c528b57637b1968
  1. boards/
  2. build/
  3. buildtools/
  4. bundles/
  5. docs/
  6. examples/
  7. garnet/
  8. peridot/
  9. products/
  10. scripts/
  11. sdk/
  12. src/
  13. third_party/
  14. tools/
  15. zircon/
  16. .clang-format
  17. .clang-tidy
  18. .dir-locals.el
  19. .gitattributes
  20. .gitignore
  21. .gn
  22. AUTHORS
  23. BUILD.gn
  24. CODE_OF_CONDUCT.md
  25. CONTRIBUTING.md
  26. LICENSE
  27. OWNERS
  28. PATENTS
  29. README.md
  30. rustfmt.toml
README.md

Fuchsia

Pink + Purple == Fuchsia (a new operating system)

What is Fuchsia?

Fuchsia is a modular, capability-based operating system. Fuchsia runs on modern 64-bit Intel and ARM processors.

Fuchsia is an open source project with a code of conduct that we expect everyone who interacts with the project to respect.

How can I build and run Fuchsia?

See Getting Started.

Where can I learn more about Fuchsia?

See the documentation.