about summary refs log tree commit diff
path: root/src/rt
diff options
context:
space:
mode:
Diffstat (limited to 'src/rt')
-rw-r--r--src/rt/rust_stack.h1
-rw-r--r--src/rt/rust_task.cpp1
2 files changed, 2 insertions, 0 deletions
diff --git a/src/rt/rust_stack.h b/src/rt/rust_stack.h
index bea86cf1ec8..ecd591cbe36 100644
--- a/src/rt/rust_stack.h
+++ b/src/rt/rust_stack.h
@@ -12,6 +12,7 @@ struct stk_seg {
     uint32_t pad;
 #endif
 
+    rust_task *task;
     uintptr_t canary;
 
     uint8_t data[];
diff --git a/src/rt/rust_task.cpp b/src/rt/rust_task.cpp
index 98c3c9e456f..317638b93c9 100644
--- a/src/rt/rust_task.cpp
+++ b/src/rt/rust_task.cpp
@@ -508,6 +508,7 @@ rust_task::new_stack(size_t requested_sz) {
     size_t sz = rust_stk_sz + RED_ZONE_SIZE;
     stk_seg *new_stk = create_stack(&local_region, sz);
     LOGPTR(thread, "new stk", (uintptr_t)new_stk);
+    new_stk->task = this;
     new_stk->next = NULL;
     new_stk->prev = stk;
     if (stk) {