summaryrefslogtreecommitdiff
path: root/Userland/Libraries/LibELF
diff options
context:
space:
mode:
authorAndreas Kling <kling@serenityos.org>2022-01-15 17:06:11 +0100
committerAndreas Kling <kling@serenityos.org>2022-01-15 19:51:15 +0100
commitc482508aa1220005fb5b8487daa99790adf251ab (patch)
tree6d2637e53a45832e9f3990005c755055608ae419 /Userland/Libraries/LibELF
parent8e0387e67451d45ec4facdf376dc8ce473f7a0b0 (diff)
downloadserenity-c482508aa1220005fb5b8487daa99790adf251ab.zip
LibELF: Use shared memory mapping when loading ELF objects
There's no reason to make a private read-only mapping just for reading (and validating) the ELF headers, and copying out the data segments.
Diffstat (limited to 'Userland/Libraries/LibELF')
-rw-r--r--Userland/Libraries/LibELF/DynamicLoader.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/Userland/Libraries/LibELF/DynamicLoader.cpp b/Userland/Libraries/LibELF/DynamicLoader.cpp
index 200413d595..2e678dc5a1 100644
--- a/Userland/Libraries/LibELF/DynamicLoader.cpp
+++ b/Userland/Libraries/LibELF/DynamicLoader.cpp
@@ -49,7 +49,7 @@ Result<NonnullRefPtr<DynamicLoader>, DlErrorMessage> DynamicLoader::try_create(i
return DlErrorMessage { String::formatted("File {} has invalid ELF header", filename) };
String file_mmap_name = String::formatted("ELF_DYN: {}", filename);
- auto* data = mmap_with_name(nullptr, size, PROT_READ, MAP_PRIVATE, fd, 0, file_mmap_name.characters());
+ auto* data = mmap_with_name(nullptr, size, PROT_READ, MAP_SHARED, fd, 0, file_mmap_name.characters());
if (data == MAP_FAILED) {
return DlErrorMessage { "DynamicLoader::try_create mmap" };
}