mirror of
https://github.com/RGBCube/serenity
synced 2025-05-31 07:38:10 +00:00
Kernel: Allow userspace stacks to grow up to 4 MB by default
Make userspace stacks lazily allocated and allow them to grow up to 4 megabytes. This avoids a lot of silly crashes we were running into with software expecting much larger stacks. :^)
This commit is contained in:
parent
6bd1879189
commit
904c871727
2 changed files with 3 additions and 3 deletions
|
@ -502,7 +502,7 @@ void Thread::push_value_on_stack(u32 value)
|
|||
|
||||
void Thread::make_userspace_stack_for_main_thread(Vector<String> arguments, Vector<String> environment)
|
||||
{
|
||||
auto* region = m_process.allocate_region(VirtualAddress(), default_userspace_stack_size, "Stack (Main thread)");
|
||||
auto* region = m_process.allocate_region(VirtualAddress(), default_userspace_stack_size, "Stack (Main thread)", PROT_READ | PROT_WRITE, false);
|
||||
ASSERT(region);
|
||||
m_tss.esp = region->vaddr().offset(default_userspace_stack_size).get();
|
||||
|
||||
|
@ -537,7 +537,7 @@ void Thread::make_userspace_stack_for_main_thread(Vector<String> arguments, Vect
|
|||
|
||||
void Thread::make_userspace_stack_for_secondary_thread(void* argument)
|
||||
{
|
||||
m_userspace_stack_region = m_process.allocate_region(VirtualAddress(), default_userspace_stack_size, String::format("Stack (Thread %d)", tid()));
|
||||
m_userspace_stack_region = m_process.allocate_region(VirtualAddress(), default_userspace_stack_size, String::format("Stack (Thread %d)", tid()), PROT_READ | PROT_WRITE, false);
|
||||
ASSERT(m_userspace_stack_region);
|
||||
m_tss.esp = m_userspace_stack_region->vaddr().offset(default_userspace_stack_size).get();
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue