diff options
author | Andreas Kling <kling@serenityos.org> | 2022-01-15 17:06:11 +0100 |
---|---|---|
committer | Andreas Kling <kling@serenityos.org> | 2022-01-15 19:51:15 +0100 |
commit | c482508aa1220005fb5b8487daa99790adf251ab (patch) | |
tree | 6d2637e53a45832e9f3990005c755055608ae419 /Userland/Libraries/LibELF | |
parent | 8e0387e67451d45ec4facdf376dc8ce473f7a0b0 (diff) | |
download | serenity-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.cpp | 2 |
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" }; } |