diff options
author | Evgenii Stepanov <eugenis@google.com> | 2020-07-06 19:25:43 +0000 |
---|---|---|
committer | Evgenii Stepanov <eugenis@google.com> | 2020-07-06 19:27:55 +0000 |
commit | 474f2f5c8b5dbc23ee7b5542ac6df47016efe1c3 (patch) | |
tree | ddb2bac208a330c9f8f9427577f2960dbd3e528c /linker/linker.cpp | |
parent | a8cf3fef2aa2201014c35c3487da222ccfedfc1c (diff) |
Revert "Add randomized padding around shared library mappings."
This reverts commit a8cf3fef2aa2201014c35c3487da222ccfedfc1c.
Reason for revert: memory regression due to the fragmentation of the page tables
Bug: 159810641
Bug: 158113540
Change-Id: I6212c623ff440c7f6889f0a1e82cf7a96200a411
Diffstat (limited to 'linker/linker.cpp')
-rw-r--r-- | linker/linker.cpp | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/linker/linker.cpp b/linker/linker.cpp index 9301f8cb5..edf0329c9 100644 --- a/linker/linker.cpp +++ b/linker/linker.cpp @@ -301,14 +301,13 @@ static void soinfo_free(soinfo* si) { return; } - void* start = reinterpret_cast<void*>(si->has_min_version(6) ? si->get_map_start() : si->base); - size_t size = si->has_min_version(6) ? si->get_map_size() : si->size; - if (start != nullptr && size != 0) { + if (si->base != 0 && si->size != 0) { if (!si->is_mapped_by_caller()) { - munmap(start, size); + munmap(reinterpret_cast<void*>(si->base), si->size); } else { // remap the region as PROT_NONE, MAP_ANONYMOUS | MAP_NORESERVE - mmap(start, size, PROT_NONE, MAP_FIXED | MAP_PRIVATE | MAP_ANONYMOUS | MAP_NORESERVE, -1, 0); + mmap(reinterpret_cast<void*>(si->base), si->size, PROT_NONE, + MAP_FIXED | MAP_PRIVATE | MAP_ANONYMOUS | MAP_NORESERVE, -1, 0); } } @@ -600,8 +599,6 @@ class LoadTask { si_->load_bias = elf_reader.load_bias(); si_->phnum = elf_reader.phdr_count(); si_->phdr = elf_reader.loaded_phdr(); - si_->set_map_start(elf_reader.map_start()); - si_->set_map_size(elf_reader.map_size()); return true; } |