Commit 9b1f79de authored by Dan Elphick's avatar Dan Elphick Committed by Commit Bot

Allow marking pages read-only

Add PageRead to PageAccessibilityConfiguration so pages can be marked
read-only.

Matching CL in V8:
https://chromium-review.googlesource.com/c/v8/v8/+/1006756

Bug: v8:7464
Change-Id: I9acdd9d5c00db9b89b1a2103be83fa2dde257b37
Reviewed-on: https://chromium-review.googlesource.com/1013564Reviewed-by: default avatarKentaro Hara <haraken@chromium.org>
Reviewed-by: default avatarJochen Eisinger <jochen@chromium.org>
Commit-Queue: Dan Elphick <delphick@chromium.org>
Cr-Commit-Position: refs/heads/master@{#553513}
parent afb3f3d4
......@@ -41,6 +41,7 @@ static const size_t kSystemPageBaseMask = ~kSystemPageOffsetMask;
enum PageAccessibilityConfiguration {
PageInaccessible,
PageRead,
PageReadWrite,
PageReadExecute,
// This flag is deprecated and will go away soon.
......
......@@ -29,6 +29,8 @@ std::atomic<int32_t> s_allocPageErrorCode{0};
int GetAccessFlags(PageAccessibilityConfiguration accessibility) {
switch (accessibility) {
case PageRead:
return PROT_READ;
case PageReadWrite:
return PROT_READ | PROT_WRITE;
case PageReadExecute:
......
......@@ -15,6 +15,8 @@ std::atomic<int32_t> s_allocPageErrorCode{ERROR_SUCCESS};
int GetAccessFlags(PageAccessibilityConfiguration accessibility) {
switch (accessibility) {
case PageRead:
return PAGE_READONLY;
case PageReadWrite:
return PAGE_READWRITE;
case PageReadExecute:
......
......@@ -159,6 +159,8 @@ base::LazyInstance<TimeClamper>::Leaky g_time_clamper =
base::PageAccessibilityConfiguration GetPageConfig(
v8::PageAllocator::Permission permission) {
switch (permission) {
case v8::PageAllocator::Permission::kRead:
return base::PageRead;
case v8::PageAllocator::Permission::kReadWrite:
return base::PageReadWrite;
case v8::PageAllocator::Permission::kReadWriteExecute:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment