Label pages mapped by linker_allocator

(cherry picked from commit 51a22a12ab)

Bug: 17013324
Change-Id: I345c9d0fecc29d3626c5be01cc3c0ed1583ac361
This commit is contained in:
Dmitriy Ivanov
2014-08-08 16:57:15 -07:00
parent 8a84d383fb
commit 4bea4c631f
3 changed files with 32 additions and 5 deletions

View File

@@ -18,6 +18,8 @@
#include <sys/mman.h>
#include <unistd.h>
#include "private/bionic_prctl.h"
struct LinkerAllocatorPage {
LinkerAllocatorPage* next;
uint8_t bytes[PAGE_SIZE-sizeof(LinkerAllocatorPage*)];
@@ -96,6 +98,9 @@ void LinkerBlockAllocator::create_new_page() {
if (page == MAP_FAILED) {
abort(); // oom
}
prctl(PR_SET_VMA, PR_SET_VMA_ANON_NAME, page, PAGE_SIZE, "linker_alloc");
memset(page, 0, PAGE_SIZE);
FreeBlockInfo* first_block = reinterpret_cast<FreeBlockInfo*>(page->bytes);