• Samuel Groß's avatar
    Implement a fake virtual memory cage mechanism · 1ea76c13
    Samuel Groß authored
    On operating systems where reserving virtual address space is expensive,
    notably Windows pre 8.1, it is not possible to create a proper virtual
    memory cage. In order to still be able to reference caged objects
    through offsets from the cage base on these systems, this CL introduces
    a fake cage mechanism. When the fake cage is used, most of the virtual
    memory for the cage is not actually reserved. Instead, the cage's page
    allocator simply relies on hints to the OS to obtain pages inside the
    cage. This does, however, not provide the same security benefits as a
    real cage as unrelated allocations might end up inside the cage.
    
    Bug: chromium:1218005
    Change-Id: Ie5314be23966ed0042a017917b63595481b5e7e3
    Cq-Include-Trybots: luci.v8.try:v8_linux64_heap_sandbox_dbg_ng,v8_linux_arm64_sim_heap_sandbox_dbg_ng
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3217200
    Commit-Queue: Samuel Groß <saelo@chromium.org>
    Reviewed-by: 's avatarIgor Sheludko <ishell@chromium.org>
    Reviewed-by: 's avatarToon Verwaest <verwaest@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#77367}
    1ea76c13
v8-internal.h 23 KB