tree e6ac411bb3fe602d92b2e56d9c528b57637b1968
parent 42b546ad16bd225db50d259f429897d456ccb606
author Adrian Danis <adanis@google.com> 1561510665 +0000
committer CQ bot account: commit-bot@chromium.org <commit-bot@chromium.org> 1561510665 +0000

[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
