mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-11-23 08:00:20 +00:00
DynamicLoader: Always make .data segment read+write
Let's just ignore the program header and always go with read+write. Nothing else makes sense anyway.
This commit is contained in:
parent
81c6d8e98e
commit
08476e7fe7
Notes:
sideshowbarker
2024-07-18 22:05:31 +09:00
Author: https://github.com/awesomekling Commit: https://github.com/SerenityOS/serenity/commit/08476e7fe7b
2 changed files with 1 additions and 11 deletions
|
@ -372,7 +372,7 @@ void DynamicLoader::load_program_headers()
|
|||
auto* data_segment = (u8*)mmap_with_name(
|
||||
data_segment_address,
|
||||
data_segment_size,
|
||||
data_region.value().mmap_prot(),
|
||||
PROT_READ | PROT_WRITE,
|
||||
MAP_ANONYMOUS | MAP_PRIVATE | MAP_FIXED,
|
||||
0,
|
||||
0,
|
||||
|
@ -575,15 +575,6 @@ void DynamicLoader::call_object_init_functions()
|
|||
}
|
||||
}
|
||||
|
||||
u32 DynamicLoader::ProgramHeaderRegion::mmap_prot() const
|
||||
{
|
||||
int prot = 0;
|
||||
prot |= is_executable() ? PROT_EXEC : 0;
|
||||
prot |= is_readable() ? PROT_READ : 0;
|
||||
prot |= is_writable() ? PROT_WRITE : 0;
|
||||
return prot;
|
||||
}
|
||||
|
||||
Optional<DynamicObject::SymbolLookupResult> DynamicLoader::lookup_symbol(const ELF::DynamicObject::Symbol& symbol) const
|
||||
{
|
||||
return m_dynamic_object->lookup_symbol(symbol);
|
||||
|
|
|
@ -95,7 +95,6 @@ private:
|
|||
u32 size_in_memory() const { return m_program_header.p_memsz; }
|
||||
u32 size_in_image() const { return m_program_header.p_filesz; }
|
||||
u32 alignment() const { return m_program_header.p_align; }
|
||||
u32 mmap_prot() const;
|
||||
bool is_readable() const { return flags() & PF_R; }
|
||||
bool is_writable() const { return flags() & PF_W; }
|
||||
bool is_executable() const { return flags() & PF_X; }
|
||||
|
|
Loading…
Reference in a new issue