[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[tyndur-devel] [PATCH 02/11] kernel2: Fix für Stackunderflow bei neuem Thread
! kernel2: Das Argument für den neuen Thread gehört als erstes auf den
Stack gelegt, aber innerhalb des Stacks sollte es schon noch sein.
Signed-off-by: Kevin Wolf <kevin@xxxxxxxxxx>
---
src/kernel2/src/syscalls/pm.c | 3 +++
1 files changed, 3 insertions(+), 0 deletions(-)
diff --git a/src/kernel2/src/syscalls/pm.c b/src/kernel2/src/syscalls/pm.c
index f2f869c..2bcabef 100644
--- a/src/kernel2/src/syscalls/pm.c
+++ b/src/kernel2/src/syscalls/pm.c
@@ -394,8 +394,11 @@ tid_t syscall_pm_create_thread(vaddr_t start, void *arg)
interrupt_stack_frame_t *isf = (interrupt_stack_frame_t *)thread->user_isf;
+ /* Parameter auf den Userspace-Stack kopieren */
+ isf->esp -= sizeof(void *);
*((void **)(isf->esp)) = arg;
+ /* Rücksprungadresse leer lassen */
isf->esp -= sizeof(void *);
while (pm_thread_unblock(thread) == true);
--
1.7.7