axeld + bonefish:
After exec() we re-entered the userland without removing the syscall iframe from the iframe stack, thus leaking one stack slot. Fixes bug #1304. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21783 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -334,6 +334,10 @@ arch_thread_enter_userspace(struct thread *t, addr_t entry, void *args1, void *a
|
|||||||
|
|
||||||
disable_interrupts();
|
disable_interrupts();
|
||||||
|
|
||||||
|
// When entering the userspace, the iframe stack needs to be empty. After
|
||||||
|
// an exec() it'll still contain the iframe from the syscall, though.
|
||||||
|
t->arch_info.iframes.index = 0;
|
||||||
|
|
||||||
i386_set_tss_and_kstack(t->kernel_stack_base + KERNEL_STACK_SIZE);
|
i386_set_tss_and_kstack(t->kernel_stack_base + KERNEL_STACK_SIZE);
|
||||||
|
|
||||||
// set the CPU dependent GDT entry for TLS
|
// set the CPU dependent GDT entry for TLS
|
||||||
|
|||||||
Reference in New Issue
Block a user