[base] Add new API to protect data memory
This adds a new {base::OS::SetDataReadOnly} method, which is similar to {SetPermissions(kRead)}, but using another system call on Windows such that it works on pages in the data segment. {VirtualAlloc} will fail if called on a page of the data section, whereas {VirtualProtect} succeeds. For the general {SetPermissions} API we still want to use {VirtualAlloc} though, as it also changes the "committed" state of the pages. Note that we do not add a platform API for this, as the memory was never allocated through the platform. We just directly protect it in V8. R=mlippautz@chromium.org Bug: v8:12887 Change-Id: If83bf6e5c500cc5cf08c76d04dfac5e2b4d35a2d Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3820482Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/main@{#82349}
Showing
Please
register
or
sign in
to comment