mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2024-09-30 00:31:14 +00:00
Kernel: Handle running programs that don't have a TLS image
Programs without a PT_TLS header won't have a master TLS image for us to copy, so we shouldn't try to copy the m_master_tls_region then.
This commit is contained in:
parent
a635619cc0
commit
899233a925
Notes:
sideshowbarker
2024-07-19 12:14:05 +09:00
Author: https://github.com/awesomekling Commit: https://github.com/SerenityOS/serenity/commit/899233a9253
|
@ -637,5 +637,6 @@ void Thread::make_thread_specific_region(Badge<Process>)
|
|||
auto* thread_local_storage = (u8*)((u8*)thread_specific_data) - align_up_to(process().m_master_tls_size, process().m_master_tls_alignment);
|
||||
m_thread_specific_data = VirtualAddress((u32)thread_specific_data);
|
||||
thread_specific_data->self = thread_specific_data;
|
||||
memcpy(thread_local_storage, process().m_master_tls_region->vaddr().as_ptr(), process().m_master_tls_size);
|
||||
if (process().m_master_tls_size)
|
||||
memcpy(thread_local_storage, process().m_master_tls_region->vaddr().as_ptr(), process().m_master_tls_size);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue