Rework the de-allocation guard on the munmap implementation
Summary:
The previous version assumed that `RegionSize` would always be the full size of the allocation done by `VirtualAlloc`. However, `RegionSize` actually only includes the following pages that have the same attributes, so, if you change the access permissions via `mprotect`, the `RegionSize` would exclude that region, which is not what was intended.
This instead stores the length and a dummy magic value after the end of the requested allocation.
Reviewed By: yfeldblum
Differential Revision:
D3812949
fbshipit-source-id:
53bbbcc371accbed08adaffa82fc082ec44f316f