-
Clemens Backes authored
This is a reland of commit 9d36b2dd. The test case is fixed to actually protect a part of the data section instead of the stack (which was unintended and could lead to segfaults). Original change's description: > [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/+/3820482 > Reviewed-by: Michael Lippautz <mlippautz@chromium.org> > Commit-Queue: Clemens Backes <clemensb@chromium.org> > Cr-Commit-Position: refs/heads/main@{#82349} Bug: v8:12887 Change-Id: Ib7c24b43b53d568dafb4a56cf8db7479c784e8d8 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3825889Reviewed-by: Michael Lippautz <mlippautz@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Cr-Commit-Position: refs/heads/main@{#82398}
e44c745d