diff --git a/Kernel/Syscalls/execve.cpp b/Kernel/Syscalls/execve.cpp index 93d2e16dc3..8c27916837 100644 --- a/Kernel/Syscalls/execve.cpp +++ b/Kernel/Syscalls/execve.cpp @@ -564,6 +564,9 @@ ErrorOr Process::do_exec(NonnullRefPtr main_program_d // and we don't want to deal with faults after this point. auto new_userspace_sp = TRY(make_userspace_context_for_main_thread(new_main_thread->regs(), *load_result.stack_region.unsafe_ptr(), m_arguments, m_environment, move(auxv))); + m_name = move(new_process_name); + new_main_thread->set_name(move(new_main_thread_name)); + if (wait_for_tracer_at_next_execve()) { // Make sure we release the ptrace lock here or the tracer will block forever. ptrace_locker.unlock(); @@ -583,9 +586,6 @@ ErrorOr Process::do_exec(NonnullRefPtr main_program_d // NOTE: Be careful to not trigger any page faults below! - m_name = move(new_process_name); - new_main_thread->set_name(move(new_main_thread_name)); - { ProtectedDataMutationScope scope { *this }; m_protected_values.promises = m_protected_values.execpromises.load();