diff --git a/src/rt/rust_task_thread.cpp b/src/rt/rust_task_thread.cpp index dde16ad70bd..a83f890d62b 100644 --- a/src/rt/rust_task_thread.cpp +++ b/src/rt/rust_task_thread.cpp @@ -371,7 +371,6 @@ rust_task_thread::prepare_c_stack(rust_task *task) { I(this, !extra_c_stack); if (!cached_c_stack && !task->have_c_stack()) { cached_c_stack = create_stack(kernel, C_STACK_SIZE); - prepare_valgrind_stack(cached_c_stack); } } diff --git a/src/rt/rust_task_thread.h b/src/rt/rust_task_thread.h index 58ae8aa12f5..f82a20a70a2 100644 --- a/src/rt/rust_task_thread.h +++ b/src/rt/rust_task_thread.h @@ -189,6 +189,7 @@ rust_task_thread::borrow_c_stack() { your_stack = cached_c_stack; cached_c_stack = NULL; } + prepare_valgrind_stack(your_stack); return your_stack; }